+++ /dev/null
-/* Test for new block scopes in C99. Inspired by C99 Rationale (N897). */
-/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-/* { dg-do run } */
-/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-
-struct foo {
- char a;
-};
-
-extern void abort (void);
-extern void exit (int);
-
-int
-sfoo (void)
-{
- if (sizeof (struct foo { int a; double b; char *c; void *d; }))
- (void) 0;
- return sizeof (struct foo);
-}
-
-int
-main (void)
-{
- int t, u;
- t = sfoo ();
- u = sizeof (struct foo);
- /* With C90 scoping rules the new declaration of struct foo is in scope
- above; with C99 it is local to the if.
- */
- if (t == u)
- exit (0); /* C99 rules apply. */
- else
- abort (); /* C90 rules apply. */
-}