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