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