aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2012-09-20 14:05:19 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2012-09-20 14:05:19 +0000
commit01e721f30b5f848446d2606342de4be367cb1f48 (patch)
treea216727c2a2bf6849b4af952172418e165175c17
parent9606465f8cb5e4b79c8467d6b5d410abcb4eca62 (diff)
downloadgcc-01e721f30b5f848446d2606342de4be367cb1f48.zip
gcc-01e721f30b5f848446d2606342de4be367cb1f48.tar.gz
gcc-01e721f30b5f848446d2606342de4be367cb1f48.tar.bz2
re PR c++/52432 ([C++11] -fdump-tree-gimple causes ICE: Error reporting routines re-entered.)
/cp 2012-09-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52432 * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain argument don't call unqualified_name_lookup_error. /testsuite 2012-09-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52432 * g++.dg/cpp0x/decltype32.C: Tweak. From-SVN: r191564
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/pt.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype32.C4
4 files changed, 15 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0427a19..0a5292f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52432
+ * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
+ argument don't call unqualified_name_lookup_error.
+
2012-09-19 Marc Glisse <marc.glisse@inria.fr>
PR c++/54581
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 16952bf..d00470e 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -13771,7 +13771,8 @@ tsubst_copy_and_build (tree t,
}
if (TREE_CODE (function) == IDENTIFIER_NODE)
{
- unqualified_name_lookup_error (function);
+ if (complain & tf_error)
+ unqualified_name_lookup_error (function);
release_tree_vector (call_args);
RETURN (error_mark_node);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8283c8e..e419eb1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52432
+ * g++.dg/cpp0x/decltype32.C: Tweak.
+
2012-09-20 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype32.C b/gcc/testsuite/g++.dg/cpp0x/decltype32.C
index 6cb637b..ac1f5d1 100644
--- a/gcc/testsuite/g++.dg/cpp0x/decltype32.C
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype32.C
@@ -3,10 +3,10 @@
template <typename T>
auto make_array(const T& il) ->
-decltype(make_array(il)) // { dg-error "not declared" }
+decltype(make_array(il)) // { dg-error "not declared|no matching|exceeds" }
{ }
int main()
{
- int z = make_array(1); // { dg-error "no match" }
+ int z = make_array(1); // { dg-error "no matching" }
}