pt.c (instantiate_class_template): Clean-up.

* pt.c (instantiate_class_template): Clean-up.

From-SVN: r107499
This commit is contained in:
Volker Reichelt 2005-11-25 12:46:40 +00:00 committed by Volker Reichelt
parent 260cd73f59
commit 2678bae869
2 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* pt.c (instantiate_class_template): Clean-up.
2005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* pt.c (template_class_depth_real): Remove. Move functionality to ...

View File

@ -5653,14 +5653,12 @@ instantiate_class_template (tree type)
{
/* Build new CLASSTYPE_NESTED_UTDS. */
tree tag = t;
tree name = TYPE_IDENTIFIER (tag);
tree newtag;
bool class_template_p;
class_template_p = (TREE_CODE (tag) != ENUMERAL_TYPE
&& TYPE_LANG_SPECIFIC (tag)
&& CLASSTYPE_IS_TEMPLATE (tag));
class_template_p = (TREE_CODE (t) != ENUMERAL_TYPE
&& TYPE_LANG_SPECIFIC (t)
&& CLASSTYPE_IS_TEMPLATE (t));
/* If the member is a class template, then -- even after
substitution -- there may be dependent types in the
template argument list for the class. We increment
@ -5669,7 +5667,7 @@ instantiate_class_template (tree type)
when outside of a template. */
if (class_template_p)
++processing_template_decl;
newtag = tsubst (tag, args, tf_error, NULL_TREE);
newtag = tsubst (t, args, tf_error, NULL_TREE);
if (class_template_p)
--processing_template_decl;
if (newtag == error_mark_node)
@ -5677,6 +5675,8 @@ instantiate_class_template (tree type)
if (TREE_CODE (newtag) != ENUMERAL_TYPE)
{
tree name = TYPE_IDENTIFIER (t);
if (class_template_p)
/* Unfortunately, lookup_template_class sets
CLASSTYPE_IMPLICIT_INSTANTIATION for a partial