aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/call.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/template/error1.C2
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" "" }
}