* decl.c (check_default_argument): Use LOOKUP_IMPLICIT.
authorJason Merrill <jason@redhat.com>
Wed, 2 Jan 2013 19:58:07 +0000 (14:58 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 2 Jan 2013 19:58:07 +0000 (14:58 -0500)
From-SVN: r194816

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/testsuite/g++.dg/overload/defarg7.C [new file with mode: 0644]

index 626455696ce17d2e2ff35deac87e1aae51c4d5d6..fe0bfe2da08581691c3c7016d3b6ecf99d4896f3 100644 (file)
@@ -1,5 +1,7 @@
 2013-01-02  Jason Merrill  <jason@redhat.com>
 
+       * decl.c (check_default_argument): Use LOOKUP_IMPLICIT.
+
        PR c++/55032
        PR c++/55245
        * tree.c (build_cplus_array_type): Copy layout information
index 64bd4b5d2c0e770d9ea7d3b11d04aea3dfea60fd..52ceefce03b4596beef8c831f09c96cd0abfcda5 100644 (file)
@@ -10829,7 +10829,7 @@ check_default_argument (tree decl, tree arg)
      parameter type.  */
   ++cp_unevaluated_operand;
   perform_implicit_conversion_flags (decl_type, arg, tf_warning_or_error,
-                                    LOOKUP_NORMAL);
+                                    LOOKUP_IMPLICIT);
   --cp_unevaluated_operand;
 
   if (warn_zero_as_null_pointer_constant
diff --git a/gcc/testsuite/g++.dg/overload/defarg7.C b/gcc/testsuite/g++.dg/overload/defarg7.C
new file mode 100644 (file)
index 0000000..8cc08f5
--- /dev/null
@@ -0,0 +1,12 @@
+struct A
+{
+  A(const char *);
+  explicit A(const int *);
+};
+
+void f (A a = 0);
+
+int main()
+{
+  f();
+}