blob: 81ed0c1ac89761c04aae72908360fceafaf104b4 [file] [log] [blame]
// { dg-do run }
// 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);
}