summaryrefslogtreecommitdiff
path: root/gcc/cp/init.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-20 14:13:00 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-20 14:13:00 +0000
commitd718e1bc42977e21e80731fcc4004c52963cf33e (patch)
tree497200eb12dfd940a8293d497ecc5a24595fb6ef /gcc/cp/init.c
parent5c7f2fb597349fd03b4e516ee64e8becaefdde1f (diff)
downloadgcc-d718e1bc42977e21e80731fcc4004c52963cf33e.tar.gz
PR c++/7586
* pt.c (tsubst): Handle typedefs by looking for the specialization. (retrieve_specialization): Only tagged types use DECL_TEMPLATE_INSTANTIATIONS. (instantiate_class_template): Push nested classes too. (tsubst_decl) [TYPE_DECL]: Only check for canonical decl for tagged types. * cp-tree.h (MAYBE_TAGGED_TYPE_P): New macro. * init.c (is_aggr_type): Remove redundant tests. * class.c (push_nested_class): Use CLASS_TYPE_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128621 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r--gcc/cp/init.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 247879cc5a0..c5c17b1a9e1 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1281,9 +1281,7 @@ is_aggr_type (tree type, int or_else)
if (type == error_mark_node)
return 0;
- if (! IS_AGGR_TYPE (type)
- && TREE_CODE (type) != TEMPLATE_TYPE_PARM
- && TREE_CODE (type) != BOUND_TEMPLATE_TEMPLATE_PARM)
+ if (! IS_AGGR_TYPE (type))
{
if (or_else)
error ("%qT is not an aggregate type", type);