re PR c/84721 (ICE in c_push_function_context, at c-decl.c:9667)

PR c/84721
	* c-parser.c (add_debug_begin_stmt): Don't add DEBUG_BEGIN_STMT if
	!building_stmt_list_p ().

	* gcc.dg/pr84721.c: New test.

From-SVN: r258302
This commit is contained in:
Jakub Jelinek 2018-03-06 21:57:30 +01:00 committed by Jakub Jelinek
parent 2728bf8f13
commit 849bbdb99c
4 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2018-03-06 Jakub Jelinek <jakub@redhat.com>
PR c/84721
* c-parser.c (add_debug_begin_stmt): Don't add DEBUG_BEGIN_STMT if
!building_stmt_list_p ().
2018-02-13 Richard Sandiford <richard.sandiford@linaro.org>
PR c/84305

View file

@ -1654,7 +1654,8 @@ static void c_finish_oacc_routine (struct oacc_routine_data *, tree, bool);
static void
add_debug_begin_stmt (location_t loc)
{
if (!MAY_HAVE_DEBUG_MARKER_STMTS)
/* Don't add DEBUG_BEGIN_STMTs outside of functions, see PR84721. */
if (!MAY_HAVE_DEBUG_MARKER_STMTS || !building_stmt_list_p ())
return;
tree stmt = build0 (DEBUG_BEGIN_STMT, void_type_node);

View file

@ -1,5 +1,8 @@
2018-03-06 Jakub Jelinek <jakub@redhat.com>
PR c/84721
* gcc.dg/pr84721.c: New test.
PR target/84710
* gcc.dg/pr84710.c: New test.

View file

@ -0,0 +1,6 @@
/* PR c/84721 */
/* { dg-do compile } */
/* { dg-options "-g -O2" } */
int a[({ int b })]; /* { dg-error "braced-group within expression allowed only inside a function" } */
int c[({ int d () {}; })]; /* { dg-error "braced-group within expression allowed only inside a function" } */