/* PR c++/83553 */ | |
/* { dg-do run } */ | |
int a[3]; | |
int | |
foo (int n) | |
{ | |
switch (n) | |
{ | |
case 0: | |
for (n = 7, a[0]++; 0; a[2] = a[1] + 1) | |
{ | |
case 2: | |
a[1] = a[0] + 1; | |
} | |
} | |
return n; | |
} | |
int | |
main () | |
{ | |
if (foo (0) != 7 || a[0] != 1 || a[1] || a[2]) | |
__builtin_abort (); | |
if (foo (2) != 2 || a[0] != 1 || a[1] != 2 || a[2] != 3) | |
__builtin_abort (); | |
return 0; | |
} |