// 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; | |
} |