| // { 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; | |
| } | |