From 353b4fc0d72bbbf8a7b975d4d1e9cc6e036f458a Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Mon, 24 Feb 2003 21:52:00 +0000 Subject: re PR c++/9836 (Error with typdefs in partial specializations of classes) PR c++/9836 * cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE): Do not skip from specializations back to the main template. * parser.c (cp_parser_diagnose_invalid_type_name):Adjust use. * pt.c (resolve_typename_type): Likewise. PR c++/9836 * g++.dg/template/spec6.C: New test. From-SVN: r63383 --- gcc/cp/parser.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gcc/cp/parser.c') diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 0688cdc..17b7224 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -1953,8 +1953,7 @@ cp_parser_diagnose_invalid_type_name (cp_parser *parser) /* Go from a particular instantiation of the template (which will have an empty TYPE_FIELDs), to the main version. */ - if (CLASSTYPE_USE_TEMPLATE (base_type)) - base_type = CLASSTYPE_PRIMARY_TEMPLATE_TYPE (base_type); + base_type = CLASSTYPE_PRIMARY_TEMPLATE_TYPE (base_type); for (field = TYPE_FIELDS (base_type); field; field = TREE_CHAIN (field)) -- cgit v1.1