1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
// { dg-require-alias } extern "C" void abort(); struct A { A(); int i; }; extern A a; #pragma omp threadprivate (a) A a; A &f() { return a; } int j; A::A(): i(j) { } int main() { j = 42; if (f().i != 42) abort (); }