* parser.c (cp_parser_check_class_key): Handle error_mark_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182442
138bc75d-0d04-0410-961f-
82ee72b054a4
2011-12-17 Jason Merrill <jason@redhat.com>
+ PR c++/51586
+ * parser.c (cp_parser_check_class_key): Handle error_mark_node.
+
PR c++/51587
* decl.c (start_enum): Avoid using ENUM_UNDERLYING_TYPE on a
non-enum.
static void
cp_parser_check_class_key (enum tag_types class_key, tree type)
{
+ if (type == error_mark_node)
+ return;
if ((TREE_CODE (type) == UNION_TYPE) != (class_key == union_type))
{
permerror (input_location, "%qs tag used in naming %q#T",
2011-12-17 Jason Merrill <jason@redhat.com>
+ PR c++/51586
+ * g++.dg/lookup/nested2.C: New.
+
PR c++/51587
* g++.dg/parse/enum6.C: New.
--- /dev/null
+// PR c++/51586
+
+union U
+{
+ union U { int i; }; // { dg-error "same name" }
+};