1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 4 int foo(); 5 int i; 6 7 struct A 8 { ~AA9 ~A() { if (this != (A*)(&i)) foo(); } 10 }; 11 12 struct B 13 { 14 A a1, a2, a3, a4; ~BB15 ~B() { foo(); } 16 }; 17 18 B b; 19