diff options
author | Joseph Myers <joseph@codesourcery.com> | 2005-03-13 01:09:47 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2005-03-13 01:09:47 +0000 |
commit | 67c2939d3e5c4e7835e3e58d3700cfa65a4e03ed (patch) | |
tree | 627cf4b5bf6a4b1aea79cf236c48e8ffb01f8e77 /gcc/c-parser.c | |
parent | c75ab022811aa05c49657d6c48471962b48c9666 (diff) | |
download | gcc-67c2939d3e5c4e7835e3e58d3700cfa65a4e03ed.zip gcc-67c2939d3e5c4e7835e3e58d3700cfa65a4e03ed.tar.gz gcc-67c2939d3e5c4e7835e3e58d3700cfa65a4e03ed.tar.bz2 |
re PR c/20402 (gcc.dg/noncompile/920923-1.c ICE)
PR c/20402
* c-parser.c (c_parser_struct_or_union_specifier): Don't fall
through into call to parser_xref_tag after parse error.
(c_parser_struct_declaration): Consistently return NULL_TREE on
error.
testsuite:
* gcc.dg/noncompile/920923-1.c: Detail expected diagnostics for
new parser.
From-SVN: r96363
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r-- | gcc/c-parser.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c index 6fd09b9..fa62475 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -1827,6 +1827,7 @@ c_parser_struct_or_union_specifier (c_parser *parser) c_parser_error (parser, "expected %<{%>"); ret.spec = error_mark_node; ret.kind = ctsk_tagref; + return ret; } ret = parser_xref_tag (code, ident); return ret; @@ -1883,7 +1884,7 @@ c_parser_struct_declaration (c_parser *parser) specs = build_null_declspecs (); c_parser_declspecs (parser, specs, false, true, true); if (parser->error) - return error_mark_node; + return NULL_TREE; if (!specs->declspecs_seen_p) { c_parser_error (parser, "expected specifier-qualifier-list"); |