1 // PR c++/81130 2 // { dg-do run } 3 4 struct A 5 { 6 A (); 7 ~A (); 8 int a; 9 }; 10 A()11A::A () 12 { 13 a = 0; 14 } 15 ~A()16A::~A () 17 { 18 } 19 20 struct B 21 { 22 A b; 23 int c; BB24 B () : c (1) 25 { 26 #pragma omp parallel shared (b, c) num_threads (2) 27 #pragma omp master 28 { 29 b.a++; 30 c += 2; 31 } 32 } 33 }; 34 35 int main()36main () 37 { 38 B v; 39 if (v.b.a != 1 || v.c != 3) 40 __builtin_abort (); 41 } 42