From 4e3d914635bd2fb63f8baf45f824337d4444b88b Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 28 Feb 2005 19:22:41 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/c-parser.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr20245-1.c | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/pr20245-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 283128ac703..db53428e1e2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-02-28 Joseph S. Myers + + 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 * config/rs6000/rs6000.c (EASY_VECTOR_15): Remove. diff --git a/gcc/c-parser.c b/gcc/c-parser.c index adebfd20589..de6999a0add 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -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); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9ed60b0cad4..75fe5325b25 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-02-28 Joseph S. Myers + + PR c/20245 + * gcc.dg/pr20245-1.c: New test. + 2005-02-28 Jakub Jelinek PR middle-end/19874 diff --git a/gcc/testsuite/gcc.dg/pr20245-1.c b/gcc/testsuite/gcc.dg/pr20245-1.c new file mode 100644 index 00000000000..51089c6e996 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr20245-1.c @@ -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" } */ -- 2.30.2