// PR c++/43951 // { dg-do run } // { dg-options "-O2" } extern "C" void abort (); class Foo { public: Foo () : xxx (1) {}; const int xxx; }; struct Foo2 { Foo foo; }; Foo2 * bar () { return new Foo2; } int main () { Foo2 *p = bar (); if (p->foo.xxx != 1) abort (); return 0; }