revert: pt.c (convert_nontype_argument): Tell instantiate_type to complain.
authorJason Merrill <jason@gcc.gnu.org>
Wed, 28 Oct 1998 11:46:03 +0000 (06:46 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 28 Oct 1998 11:46:03 +0000 (06:46 -0500)
Revert
* pt.c (convert_nontype_argument): Tell instantiate_type to complain.
Do complain about overload resolution producing a non-public fn.
Fixes g++.pt/explicit75.C

From-SVN: r23402

gcc/cp/ChangeLog
gcc/cp/pt.c

index 0c520b5..275ddcf 100644 (file)
@@ -55,8 +55,6 @@
        (build_ptrmemfunc): Use type_unknown_p.
        (convert_for_assignment): Also do default_conversion on overloaded
        functions.  Hand them off to ocp_convert.
-       * pt.c (convert_nontype_argument): Tell instantiate_type to complain.
-       Do complain about overload resolution producing a non-public fn.
 
 1998-10-26  Mark Mitchell  <mark@markmitchell.com>
 
index 12ff526..64d7ec5 100644 (file)
@@ -2546,7 +2546,7 @@ convert_nontype_argument (type, expr)
            else
              fns = expr;
 
-           fn = instantiate_type (type_pointed_to, fns, 1);
+           fn = instantiate_type (type_pointed_to, fns, 0);
 
            if (fn == error_mark_node)
              return error_mark_node;
@@ -2603,21 +2603,19 @@ convert_nontype_argument (type, expr)
            tree fns = expr;
            tree fn;
 
-           fn = instantiate_type (type_referred_to, fns, 1);
+           fn = instantiate_type (type_referred_to, fns, 0);
 
            if (fn == error_mark_node)
              return error_mark_node;
 
            if (!TREE_PUBLIC (fn))
              {
-#if 0
                if (really_overloaded_fn (fns))
                  /* Don't issue an error here; we might get a different
                     function if the overloading had worked out
                     differently.  */
                  return error_mark_node;
                else
-#endif
                  goto bad_argument;
              }
 
@@ -2684,7 +2682,7 @@ convert_nontype_argument (type, expr)
        fns = TREE_OPERAND (expr, 0);
        
        fn = instantiate_type (TREE_TYPE (TREE_TYPE (type)), 
-                              fns, 1);
+                              fns, 0);
        
        if (fn == error_mark_node)
          return error_mark_node;