From e44d834f170748e1672c1cb7a039833439e5fe64 Mon Sep 17 00:00:00 2001 From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon, 28 Feb 2005 19:22:41 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95693 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 <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. 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 <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 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" } */ -- GitLab