re PR c++/23965 (Bogus error message: no matching function for call to 'foo(<type...
authorVolker Reichelt <reichelt@igpm.rwth-aachen.de>
Wed, 21 Sep 2005 15:34:41 +0000 (15:34 +0000)
committerVolker Reichelt <reichelt@gcc.gnu.org>
Wed, 21 Sep 2005 15:34:41 +0000 (15:34 +0000)
PR c++/23965
* call.c (resolve_args): Return error_mark_node on arguments
whose TREE_TYPE is error_mark_node.

* g++.dg/template/error1.C: Reject "no matching function" message.

From-SVN: r104489

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/error1.C

index 5bdf8bdbef97e5fcc4b295fa2da80df64dbaca04..56c3a2ccb5223c5a4ac0325c3044e07f2d9bb234 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/23965
+       * call.c (resolve_args): Return error_mark_node on arguments
+       whose TREE_TYPE is error_mark_node.
+
 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/23947
index e8f93c4daf80ee65b0d2f46b6719d0093160ddf7..3507e58220811b3f2a77ca3fc26cb6dd4902b3df 100644 (file)
@@ -2689,7 +2689,7 @@ resolve_args (tree args)
     {
       tree arg = TREE_VALUE (t);
 
-      if (arg == error_mark_node)
+      if (arg == error_mark_node || error_operand_p (arg))
        return error_mark_node;
       else if (VOID_TYPE_P (TREE_TYPE (arg)))
        {
index 3d33620ddff5fe1c0a2399189cc499fce46101df..b27230cf6d0b606c84bb27135962a63faaca1d3e 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/23965
+       * g++.dg/template/error1.C: Reject "no matching function" message.
+
 2005-09-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
        PR c++/17609
index c23e33c12815a9253daafb6f0bb1ac79bfa8c1a3..03a83239238d112ffe20e4a902882979910009de 100644 (file)
@@ -9,5 +9,5 @@ template <class T> void make_pair(T x);
 
 void foo(){
   struct fps_chan_ID fps; // { dg-error "incomplete" "" }
-  make_pair(fps); // { dg-error "no matching function" "" }
+  make_pair(fps);         // { dg-bogus "no matching function" "" }
 }