diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/pt.c | 9 |
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); |