// PR c++/81130 // { dg-do run } struct A { A (); ~A (); int a; }; A::A () { a = 0; } A::~A () { } struct B { A b; int c; B () : c (1) { #pragma omp parallel shared (b, c) num_threads (2) #pragma omp master { b.a++; c += 2; } } }; int main () { B v; if (v.b.a != 1 || v.c != 3) __builtin_abort (); }