re PR c/20245 (ICE on invalid function declaration)

PR c/20245
	* c-parser.c (c_parser_compound_statement): Return error_mark_node
	instead of NULL_TREE on error.

testsuite:
	* gcc.dg/pr20245-1.c: New test.

From-SVN: r95693
This commit is contained in:
Joseph Myers 2005-02-28 19:22:41 +00:00 committed by Joseph Myers
parent 48d723357c
commit 4e3d914635
4 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2005-02-28 Joseph S. Myers <joseph@codesourcery.com>
PR c/20245
* c-parser.c (c_parser_compound_statement): Return error_mark_node
instead of NULL_TREE on error.
2005-02-28 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.

View File

@ -3170,7 +3170,7 @@ c_parser_compound_statement (c_parser *parser)
{
tree stmt;
if (!c_parser_require (parser, CPP_OPEN_BRACE, "expected %<{%>"))
return NULL_TREE;
return error_mark_node;
stmt = c_begin_compound_stmt (true);
c_parser_compound_statement_nostart (parser);
return c_end_compound_stmt (stmt, true);

View File

@ -1,3 +1,8 @@
2005-02-28 Joseph S. Myers <joseph@codesourcery.com>
PR c/20245
* gcc.dg/pr20245-1.c: New test.
2005-02-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/19874

View File

@ -0,0 +1,5 @@
/* Bug 20245: the parse error should not result in an ICE. */
/* { dg-do compile } */
/* { dg-options "" } */
void foo() x; /* { dg-error "expected" } */