diff options
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/call.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | 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 5bdf8bd..56c3a2c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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 diff --git a/gcc/cp/call.c b/gcc/cp/call.c index e8f93c4..3507e582 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 3d33620..b27230c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 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 * g++.dg/lookup/error1.C: New test. diff --git a/gcc/testsuite/g++.dg/template/error1.C b/gcc/testsuite/g++.dg/template/error1.C index c23e33c..03a8323 100644 --- a/gcc/testsuite/g++.dg/template/error1.C +++ b/gcc/testsuite/g++.dg/template/error1.C @@ -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" "" } } |