+++ /dev/null
-/* Test for new block scopes in C99. Test for each new scope. */
-/* 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)
-{
- struct foo { int i0; };
- int a, b, c, d;
- a = sizeof (struct foo);
- if (b = sizeof (struct foo { int i0; int i1; }))
- c = sizeof (struct foo { int i0; int i1; int i2; });
- if (!(a <= b && b <= c))
- abort ();
- if ((b = sizeof (struct foo { int i0; int i1; })), 0)
- c = sizeof (struct foo { int i0; int i1; int i2; });
- else
- d = sizeof (struct foo { int i0; int i1; int i2; int i3; });
- if (!(a <= b && b <= d))
- abort ();
- switch (b = sizeof (struct foo { int i0; int i1; }))
- default:
- c = sizeof (struct foo { int i0; int i1; int i2; });
- if (!(a <= b && b <= c))
- abort ();
- do
- c = sizeof (struct foo { int i0; int i1; int i2; });
- while ((b = sizeof (struct foo { int i0; int i1; })), 0);
- if (!(a <= b && b <= c))
- abort ();
- d = 1;
- while ((b = sizeof (struct foo { int i0; int i1; })), d)
- (c = sizeof (struct foo { int i0; int i1; int i2; })), d--;
- if (!(a <= b && b <= c))
- abort ();
- d = 1;
- for ((b = sizeof (struct foo { int i0; int i1; })); d; d--)
- c = sizeof (struct foo { int i0; int i1; int i2; });
- if (!(a <= b && b <= c))
- abort ();
- d = 1;
- for ((b = sizeof (struct foo { int i0; int i1; })); d; d--)
- c = sizeof (struct foo);
- if (!(a <= b && b == c))
- abort ();
- d = 1;
- for (; (b = sizeof (struct foo { int i0; int i1; })), d; d--)
- c = sizeof (struct foo { int i0; int i1; int i2; });
- if (!(a <= b && b <= c))
- abort ();
- d = 1;
- for (; (b = sizeof (struct foo { int i0; int i1; })), d; d--)
- c = sizeof (struct foo);
- if (!(a <= b && b == c))
- abort ();
- d = 1;
- for (; d; (b = sizeof (struct foo { int i0; int i1; })), d--)
- c = sizeof (struct foo { int i0; int i1; int i2; });
- if (!(a <= b && b <= c))
- abort ();
- d = 1;
- for (; d; (b = sizeof (struct foo { int i0; int i1; })), d--)
- c = sizeof (struct foo);
- if (!(a <= b && b == c))
- abort ();
- exit (0);
-}