OSDN Git Service

PR c++/41468
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Apr 2010 19:04:23 +0000 (19:04 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 04:52:05 +0000 (13:52 +0900)
* call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
if we don't want errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158799 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/testsuite/ChangeLog

index d4b82a9..f7456bf 100644 (file)
@@ -1,6 +1,10 @@
 2010-04-27  Jason Merrill  <jason@redhat.com>
 
        PR c++/41468
+       * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
+       if we don't want errors.
+
+       PR c++/41468
        * class.c (convert_to_base): Add complain parameter.  Pass
        ba_quiet to lookup_base if we don't want errors.
        (build_vfield_ref): Pass complain to convert_to_base.
index a97f7dc..7915417 100644 (file)
@@ -4947,6 +4947,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
         }
       return expr;
     case ck_ambig:
+      if (!(complain & tf_error))
+       return error_mark_node;
       /* Call build_user_type_conversion again for the error.  */
       return build_user_type_conversion
        (totype, convs->u.expr, LOOKUP_NORMAL);
index ce7206a..c48c0fe 100644 (file)
@@ -2,6 +2,7 @@
 
        PR c++/41468
        * g++.dg/template/sfinae17.C: New.
+       * g++.dg/template/sfinae18.C: New.
 
 2010-04-27  Fabien ChĂȘne  <fabien.chene@gmail.com>