From 10e8dd82753c1b5a864bc5a28c77ddd037528578 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 7 Sep 2011 13:11:20 -0400 Subject: [PATCH] * pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting. From-SVN: r178650 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/pt.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2fe60fe03c7..6d8430e5897 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2011-09-07 Jason Merrill + + * pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting. + 2011-09-06 Jason Merrill PR c++/50296 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 1f43ff1fbf0..d883c1635fa 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -9590,14 +9590,13 @@ tsubst_aggr_type (tree t, /* First, determine the context for the type we are looking up. */ context = TYPE_CONTEXT (t); - if (context) + if (context && TYPE_P (context)) { context = tsubst_aggr_type (context, args, complain, in_decl, /*entering_scope=*/1); /* If context is a nested class inside a class template, it may still need to be instantiated (c++/33959). */ - if (TYPE_P (context)) - context = complete_type (context); + context = complete_type (context); } /* Then, figure out what arguments are appropriate for the -- 2.30.2