extern "C" void abort(); struct A { static int i; A(){} ~A(){i++;if(i>1)abort();} };
int A::i = 0; A a; extern A a; int main() { return 0; } -- Summary: Calls the dtor twice Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17976