1 // { dg-do compile { target c++11 } }
3 typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t {
4 char __omp_depend_t__[2 * sizeof (void *)];
11 [[omp::directive (barrier)]];
14 #pragma omp cancel parallel
15 [[omp::directive (cancellation point, parallel)]];
19 #pragma omp cancellation point parallel
20 [[omp::directive (cancel parallel)]];
24 [[omp::directive (cancel, parallel)]];
25 #pragma omp cancellation point parallel
28 #pragma omp depobj(depobj) update(inout)
29 [[omp::directive (depobj(depobj), destroy)]];
31 [[omp::directive (flush)]];
32 #pragma omp target enter data map (to: x)
33 [[omp::directive (target exit data, map (from: x))]];
34 [[omp::directive (target enter data, map (to: x))]];
35 #pragma omp target exit data map (from: x)
36 [[omp::directive (flush)]];
37 #pragma omp target update to (x)
38 [[omp::directive (flush)]];
40 [[omp::directive (flush)]];
42 [[omp::directive (flush)]];
44 #pragma omp threadprivate (t)
45 [[omp::directive (flush)]];