// PR c++/31806 // { dg-do run } // { dg-options "-O2 -fno-inline -fno-threadsafe-statics" } extern "C" void abort(void); struct A { void *d; }; static const A& staticA() { static A s_static; return s_static; } void assert_failed() { abort(); } A testMethod() { static const A& s = staticA( ); if (&s == 0) assert_failed(); return s; } int main() { testMethod(); return 0; }