+2009-07-10 Richard Guenther <rguenther@suse.de>
+
+ Backport from mainline
+ 2009-01-09 John F. Carr <jfc@mit.edu>
+
+ PR c++/37877
+ * parser.c (cp_parser_class_specifier): Clear
+ parser->in_unbraced_linkage_specification_p while parsing class
+ specifiers.
+
2009-07-10 Richard Guenther <rguenther@suse.de>
Backport from mainline
bool nested_name_specifier_p;
unsigned saved_num_template_parameter_lists;
bool saved_in_function_body;
+ bool saved_in_unbraced_linkage_specification_p;
tree old_scope = NULL_TREE;
tree scope = NULL_TREE;
tree bases;
/* We are not in a function body. */
saved_in_function_body = parser->in_function_body;
parser->in_function_body = false;
+ /* We are not immediately inside an extern "lang" block. */
+ saved_in_unbraced_linkage_specification_p
+ = parser->in_unbraced_linkage_specification_p;
+ parser->in_unbraced_linkage_specification_p = false;
/* Start the class. */
if (nested_name_specifier_p)
parser->in_function_body = saved_in_function_body;
parser->num_template_parameter_lists
= saved_num_template_parameter_lists;
+ parser->in_unbraced_linkage_specification_p
+ = saved_in_unbraced_linkage_specification_p;
return type;
}
+2009-07-10 Richard Guenther <rguenther@suse.de>
+
+ Backport from mainline
+ 2009-01-09 John F. Carr <jfc@mit.edu>
+
+ PR c++/37877
+ * g++.dg/parse/linkage3.C: New test.
+
2009-07-10 Richard Guenther <rguenther@suse.de>
Backport from mainline