1 // PR c++/81130
2 // { dg-do run }
3 
4 struct A
5 {
6   A ();
7   ~A ();
8   int a;
9 };
10 
A()11 A::A ()
12 {
13   a = 0;
14 }
15 
~A()16 A::~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()36 main ()
37 {
38   B v;
39   if (v.b.a != 1 || v.c != 3)
40     __builtin_abort ();
41 }
42