From c57801d4ac1e5c6e77ca97743d2376a0da13047f Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 1 Jul 2009 23:51:04 -0400 Subject: [PATCH] * cp-tree.h (DECL_CLASS_TEMPLATE_P): Use DECL_IMPLICIT_TYPEDEF_P. From-SVN: r149166 --- gcc/cp/ChangeLog | 2 ++ gcc/cp/cp-tree.h | 9 ++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6e79df9589c..6325abbdf1e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ 2009-07-01 Jason Merrill + * cp-tree.h (DECL_CLASS_TEMPLATE_P): Use DECL_IMPLICIT_TYPEDEF_P. + * pt.c (register_specialization): Use duplicate_decls to merge the argument with a previous specialization. (check_explicit_specialization): Call register_specialization to diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index c49a8778617..5b3204d4051 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -3159,11 +3159,10 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter) && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == FUNCTION_DECL) /* Nonzero for a DECL that represents a template class. */ -#define DECL_CLASS_TEMPLATE_P(NODE) \ - (TREE_CODE (NODE) == TEMPLATE_DECL \ - && !DECL_UNBOUND_CLASS_TEMPLATE_P (NODE) \ - && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == TYPE_DECL \ - && !DECL_TEMPLATE_TEMPLATE_PARM_P (NODE)) +#define DECL_CLASS_TEMPLATE_P(NODE) \ + (TREE_CODE (NODE) == TEMPLATE_DECL \ + && DECL_TEMPLATE_RESULT (NODE) != NULL_TREE \ + && DECL_IMPLICIT_TYPEDEF_P (DECL_TEMPLATE_RESULT (NODE))) /* Nonzero if NODE which declares a type. */ #define DECL_DECLARES_TYPE_P(NODE) \