aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/pt.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 5e5af5b..3e1cd0d 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -5280,8 +5280,13 @@ instantiate_class_template (tree type)
|| DECL_FUNCTION_TEMPLATE_P (t))
{
/* Build new TYPE_METHODS. */
-
- tree r = tsubst (t, args, tf_error, NULL_TREE);
+ tree r;
+
+ if (TREE_CODE (t) == TEMPLATE_DECL)
+ processing_template_decl++;
+ r = tsubst (t, args, tf_error, NULL_TREE);
+ if (TREE_CODE (t) == TEMPLATE_DECL)
+ processing_template_decl--;
set_current_access_from_decl (r);
grok_special_member_properties (r);
finish_member_declaration (r);