1 extern "C" void abort (); 2 3 static int count; 4 5 struct S { SS6 S() { ++count; } ~SS7 ~S() { --count; } 8 }; 9 foo(int p)10int foo(int p) 11 { 12 S s1; 13 { 14 S s2; 15 if (p) 16 goto L; 17 else 18 return 1; 19 } 20 foo (p); 21 L: 22 return 0; 23 } 24 main()25int main() 26 { 27 foo(0); 28 if (count != 0) 29 abort (); 30 foo(1); 31 if (count != 0) 32 abort (); 33 return 0; 34 } 35