// { dg-do run } | |
// Origin: Mark Mitchell <mark@codesourcery.com> | |
extern "C" void abort (); | |
int count; | |
struct S | |
{ | |
S (); | |
S (const S&); | |
~S (); | |
int i; | |
}; | |
S::S () | |
{ | |
i = count++; | |
} | |
S::S (const S&) | |
{ | |
i = count++; | |
} | |
S::~S () | |
{ | |
if (--count != i) | |
abort (); | |
} | |
void f (S, S) | |
{ | |
} | |
int main () | |
{ | |
{ | |
S s; | |
f (s, s); | |
} | |
return count != 0; | |
} | |