From ceb8649576ddeedbc83623af23eadbad7a13e621 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 6 Feb 2013 15:58:32 -0500 Subject: [PATCH] * parser.c (cp_parser_enum_specifier): Check for error_mark_node. From-SVN: r195818 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/parser.c | 2 +- gcc/testsuite/g++.dg/parse/enum10.C | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/parse/enum10.C 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 "" } -- 2.30.2