extern "C" void abort (); | |
static int count; | |
struct S { | |
S() { ++count; } | |
~S() { --count; } | |
}; | |
int foo(int p) | |
{ | |
S s1; | |
{ | |
S s2; | |
if (p) | |
goto L; | |
else | |
return 1; | |
} | |
foo (p); | |
L: | |
return 0; | |
} | |
int main() | |
{ | |
foo(0); | |
if (count != 0) | |
abort (); | |
foo(1); | |
if (count != 0) | |
abort (); | |
return 0; | |
} |