From: Volker Reichelt Date: Fri, 25 Nov 2005 12:46:40 +0000 (+0000) Subject: pt.c (instantiate_class_template): Clean-up. X-Git-Tag: releases/gcc-4.2.0~5759 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2678bae869c78a3848e54835535de147a53b77cf;p=thirdparty%2Fgcc.git pt.c (instantiate_class_template): Clean-up. * pt.c (instantiate_class_template): Clean-up. From-SVN: r107499 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f3fbb462a71c..5d7c21be4853 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2005-11-25 Volker Reichelt + + * pt.c (instantiate_class_template): Clean-up. + 2005-11-25 Volker Reichelt * pt.c (template_class_depth_real): Remove. Move functionality to ... diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index dba4c44c5c4a..5f28b4193a7c 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -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