From 1bf83ca3ddc1d6f98ea66a39eef82642ef200062 Mon Sep 17 00:00:00 2001 From: Volker Reichelt Date: Wed, 21 Sep 2005 15:34:41 +0000 Subject: [PATCH] re PR c++/23965 (Bogus error message: no matching function for call to 'foo()') 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 | 6 ++++++ gcc/cp/call.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/template/error1.C | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5bdf8bdbef9..56c3a2ccb52 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-09-21 Volker Reichelt + + 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 PR c++/23947 diff --git a/gcc/cp/call.c b/gcc/cp/call.c index e8f93c4daf8..3507e582208 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -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))) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3d33620ddff..b27230cf6d0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-09-21 Volker Reichelt + + PR c++/23965 + * g++.dg/template/error1.C: Reject "no matching function" message. + 2005-09-21 Volker Reichelt PR c++/17609 diff --git a/gcc/testsuite/g++.dg/template/error1.C b/gcc/testsuite/g++.dg/template/error1.C index c23e33c1281..03a83239238 100644 --- a/gcc/testsuite/g++.dg/template/error1.C +++ b/gcc/testsuite/g++.dg/template/error1.C @@ -9,5 +9,5 @@ template 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" "" } } -- 2.30.2