blob: c8f7babb0648fed1cad67d979e872852b916def9 [file] [log] [blame]
// Origin: Mark Mitchell <mark@codesourcery.com>
extern "C" void abort ();
int j;
struct S {
static S* s[5];
S () { s[j++] = this; }
S (const S&) { s[j++] = this; }
~S () {
for (int k = 0; k < j; ++k)
if (s[k] == this)
return;
abort ();
}
};
S* S::s[5];
struct T {
int i;
S s;
};
T t;
T f () {
return t;
}
void g (S) {
};
int main ()
{
g (f ().s);
}