From 8e07ab9fe84a697a1f0a0653c3091f14e0da6ee4 Mon Sep 17 00:00:00 2001
From: Paolo Carlini <paolo.carlini@oracle.com>
Date: Tue, 11 Oct 2011 13:07:52 +0000
Subject: [PATCH] re PR c++/50611 (Error reporting routines re-entered)

2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50611
	* pt.c (tsubst_copy_and_build): If (complain & tf_error) is false
	do not call unqualified_name_lookup_error.

From-SVN: r179802
---
 gcc/cp/ChangeLog | 6 ++++++
 gcc/cp/pt.c      | 6 +++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d36ffaa83e59..3be7f7d8f05e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	PR c++/50611
+	* pt.c (tsubst_copy_and_build): If (complain & tf_error) is false
+	do not call unqualified_name_lookup_error.
+
 2011-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
 
 	PR c++/50660
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index c95f1cb64364..2cb478d8053f 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -13026,7 +13026,11 @@ tsubst_copy_and_build (tree t,
 	if (error_msg)
 	  error (error_msg);
 	if (!function_p && TREE_CODE (decl) == IDENTIFIER_NODE)
-	  decl = unqualified_name_lookup_error (decl);
+	  {
+	    if (complain & tf_error)
+	      unqualified_name_lookup_error (decl);
+	    decl = error_mark_node;
+	  }
 	return decl;
       }
 
-- 
GitLab