Viewing file: attrs-5.C (1.22 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// { dg-do compile { target c++11 } }
typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t { char __omp_depend_t__[2 * sizeof (void *)]; } omp_depend_t;
void foo (int x) { #pragma omp barrier [[omp::directive (barrier)]]; #pragma omp parallel { #pragma omp cancel parallel [[omp::directive (cancellation point, parallel)]]; } #pragma omp parallel { #pragma omp cancellation point parallel [[omp::directive (cancel parallel)]]; } #pragma omp parallel { [[omp::directive (cancel, parallel)]]; #pragma omp cancellation point parallel } omp_depend_t depobj; #pragma omp depobj(depobj) update(inout) [[omp::directive (depobj(depobj), destroy)]]; #pragma omp flush [[omp::directive (flush)]]; #pragma omp target enter data map (to: x) [[omp::directive (target exit data, map (from: x))]]; [[omp::directive (target enter data, map (to: x))]]; #pragma omp target exit data map (from: x) [[omp::directive (flush)]]; #pragma omp target update to (x) [[omp::directive (flush)]]; #pragma omp taskwait [[omp::directive (flush)]]; #pragma omp taskyield [[omp::directive (flush)]]; extern int t; #pragma omp threadprivate (t) [[omp::directive (flush)]]; }
|