summaryrefslogtreecommitdiff
path: root/gcc/cp/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/parse.y')
-rw-r--r--gcc/cp/parse.y5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index e199708966a..11ee26b9926 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -779,8 +779,9 @@ identifier_defn:
explicit_instantiation:
TEMPLATE aggr template_type
+ { do_type_instantiation ($3); }
| TEMPLATE typed_declspecs declarator
- { do_function_instantiation ($2, $3); }
+ { do_function_instantiation ($2, $3); }
;
template_type:
@@ -844,6 +845,8 @@ template_instantiate_once:
pop_obstacks ();
pushdecl_top_level (decl);
}
+ /* Kludge; see instantiate_class_template. */
+ TYPE_BEING_DEFINED (t) = 0;
}
left_curly opt.component_decl_list '}'
{