Commit 2c9c6ada by Jason Merrill Committed by Jason Merrill

* parser.c (cp_parser_class_head): Use num_template_headers_for_class.

From-SVN: r260125
parent 5d7b4c6f
2018-05-09 Jason Merrill <jason@redhat.com>
* parser.c (cp_parser_class_head): Use num_template_headers_for_class.
* pt.c (instantiate_decl): Make sure we aren't trying to do a nested
instantiation in template context.
......
......@@ -22930,20 +22930,7 @@ cp_parser_class_head (cp_parser* parser,
/* Otherwise, count the number of templates used in TYPE and its
containing scopes. */
else
{
tree scope;
for (scope = TREE_TYPE (type);
scope && TREE_CODE (scope) != NAMESPACE_DECL;
scope = get_containing_scope (scope))
if (TYPE_P (scope)
&& CLASS_TYPE_P (scope)
&& CLASSTYPE_TEMPLATE_INFO (scope)
&& PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (scope))
&& (!CLASSTYPE_TEMPLATE_SPECIALIZATION (scope)
|| uses_template_parms (CLASSTYPE_TI_ARGS (scope))))
++num_templates;
}
num_templates = num_template_headers_for_class (TREE_TYPE (type));
}
/* Otherwise, the identifier is optional. */
else
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