1// PR c++/3948 2// Test that the destructor call for a value parameter gets the 3// right address. 4 5// { dg-do run } 6 7void *p[2]; 8int i; 9int r; 10 11struct C 12{ 13 int m; 14 15 C() { p[i++] = this; } 16 ~C() { if (p[--i] != this) r = 1; } 17}; 18 19 20void Foo (C c) 21{ 22 p[i++] = &c; 23} 24 25int main () 26{ 27 C c; 28 29 Foo (c); 30 return r; 31} 32