Commit 802dbc34 by Jason Merrill Committed by Jason Merrill

* pt.c (lookup_template_class): Look through implict typename.

From-SVN: r26370
parent 660c7314
1999-04-12 Jason Merrill <jason@yorick.cygnus.com>
* pt.c (lookup_template_class): Look through implict typename.
1999-04-11 Mark Mitchell <mark@codesourcery.com> 1999-04-11 Mark Mitchell <mark@codesourcery.com>
* friend.c (add_friend): Deal gracefully with error_mark_node. * friend.c (add_friend): Deal gracefully with error_mark_node.
......
...@@ -3581,9 +3581,16 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope) ...@@ -3581,9 +3581,16 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope)
} }
else if (TREE_CODE (d1) == TYPE_DECL && IS_AGGR_TYPE (TREE_TYPE (d1))) else if (TREE_CODE (d1) == TYPE_DECL && IS_AGGR_TYPE (TREE_TYPE (d1)))
{ {
if (CLASSTYPE_TEMPLATE_INFO (TREE_TYPE (d1))) tree type = TREE_TYPE (d1);
/* If we are declaring a constructor, say A<T>::A<T>, we will get
an implicit typename for the second A. Deal with it. */
if (TREE_CODE (type) == TYPENAME_TYPE && TREE_TYPE (type))
type = TREE_TYPE (type);
if (CLASSTYPE_TEMPLATE_INFO (type))
{ {
template = CLASSTYPE_TI_TEMPLATE (TREE_TYPE (d1)); template = CLASSTYPE_TI_TEMPLATE (type);
d1 = DECL_NAME (template); d1 = DECL_NAME (template);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment