pt.c (tsubst_copy): Only do typename overloading on an IDENTIFIER_NODE that happens to look like a...

* pt.c (tsubst_copy): Only do typename overloading on an
	IDENTIFIER_NODE that happens to look like a typename if it actually
	has a type for us to use.
avoid problems w/ SGI STL headers that have variables like __opr or __op1

From-SVN: r21978
This commit is contained in:
Brendan Kehoe 1998-08-25 18:52:45 +00:00 committed by Brendan Kehoe
parent c3a3b53647
commit 8e710788f5
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,9 @@
1998-08-25 Brendan Kehoe <brendan@cygnus.com>
* pt.c (tsubst_copy): Only do typename overloading on an
IDENTIFIER_NODE that happens to look like a typename if it actually
has a type for us to use.
1998-08-25 Jason Merrill <jason@yorick.cygnus.com> 1998-08-25 Jason Merrill <jason@yorick.cygnus.com>
* typeck.c (comp_cv_target_types): Split out... * typeck.c (comp_cv_target_types): Split out...

View File

@ -5971,7 +5971,10 @@ tsubst_copy (t, args, in_decl)
return tsubst (t, args, in_decl); return tsubst (t, args, in_decl);
case IDENTIFIER_NODE: case IDENTIFIER_NODE:
if (IDENTIFIER_TYPENAME_P (t)) if (IDENTIFIER_TYPENAME_P (t)
/* Make sure it's not just a variable named `__opr', for instance,
which can occur in some existing code. */
&& TREE_TYPE (t))
return build_typename_overload return build_typename_overload
(tsubst (TREE_TYPE (t), args, in_decl)); (tsubst (TREE_TYPE (t), args, in_decl));
else else