From b88bf8b166b435ca31b7bf63ce2320cc16e7430f Mon Sep 17 00:00:00 2001 From: paolo Date: Thu, 20 Sep 2012 14:05:19 +0000 Subject: [PATCH] /cp 2012-09-20 Paolo Carlini 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 PR c++/52432 * g++.dg/cpp0x/decltype32.C: Tweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191564 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/pt.c | 3 ++- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/decltype32.C | 4 ++-- 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 + + 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 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 + + PR c++/52432 + * g++.dg/cpp0x/decltype32.C: Tweak. + 2012-09-20 Marc Glisse * 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 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" } } -- 2.7.4