From: Jason Merrill Date: Wed, 6 Feb 2013 20:58:32 +0000 (-0500) Subject: * parser.c (cp_parser_enum_specifier): Check for error_mark_node. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ceb8649576ddeedbc83623af23eadbad7a13e621;p=gcc.git * parser.c (cp_parser_enum_specifier): Check for error_mark_node. From-SVN: r195818 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a5f944bc08d..f60735d6165 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2013-02-06 Jason Merrill + + * parser.c (cp_parser_enum_specifier): Check for error_mark_node. + 2013-02-05 Jason Merrill PR c++/54122 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 74db9aef3e0..72da561c357 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -14567,7 +14567,7 @@ cp_parser_enum_specifier (cp_parser* parser) /*check_dependency=*/true, /*ambiguous_decls=*/NULL, input_location); - if (name) + if (name && name != error_mark_node) { type = TREE_TYPE (name); if (TREE_CODE (type) == TYPENAME_TYPE) diff --git a/gcc/testsuite/g++.dg/parse/enum10.C b/gcc/testsuite/g++.dg/parse/enum10.C new file mode 100644 index 00000000000..8760597a7fb --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/enum10.C @@ -0,0 +1,2 @@ +namespace A { } +enum A::B { }; // { dg-error "" }