8sa1-gcc/gcc/testsuite/gcc.dg/c99-mixdecl-1.c
Joseph Myers b74384156a c-parse.in (ends_in_label): Remove from %union and %type.
* c-parse.in (ends_in_label): Remove from %union and %type.
	(decls, stmts, lineno_stmt_or_labels, xstmts,
	lineno_stmt_or_label, stmt_or_label): Remove.
	(stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
	lineno_stmt_decl_or_labels_ending_decl,
	lineno_stmt_decl_or_labels_ending_label,
	lineno_stmt_decl_or_labels_ending_error,
	lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
	lineno_stmt, lineno_label): New.
	(compstmt_nostart): Use compstmt_contents_nonempty.

testsuite:
	* gcc.dg/c99-mixdecl-1.c, gcc.dg/c90-mixdecl-1.c: New tests.

From-SVN: r37429
2000-11-13 14:20:04 +00:00

26 lines
440 B
C

/* Test for C99 mixed declarations and code. */
/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
/* { dg-do run } */
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
extern void abort (void);
extern void exit (int);
int
main (void)
{
int i = 0;
if (i != 0)
abort ();
i++;
if (i != 1)
abort ();
int j = i;
if (j != 1)
abort ();
struct foo { int i0; } k = { 4 };
if (k.i0 != 4)
abort ();
exit (0);
}