void foo (int i, int *a) { #pragma omp assume no_openmp no_openmp /* { dg-error "too many 'no_openmp' clauses" } */ ; #pragma omp assume no_openmp_routines, no_openmp_routines /* { dg-error "too many 'no_openmp_routines' clauses" } */ ; #pragma omp assume no_parallelism, no_parallelism /* { dg-error "too many 'no_parallelism' clauses" } */ ; #pragma omp assume absent (target, target) /* { dg-error "'target' directive mentioned multiple times in 'absent' clauses" } */ ; #pragma omp assume absent (target, teams) absent (teams, parallel) /* { dg-error "'teams' directive mentioned multiple times in 'absent' clauses" } */ ; #pragma omp assume contains (cancellation point, cancellation point) /* { dg-error "'cancellation point' directive mentioned multiple times in 'contains' clauses" } */ ; #pragma omp assume contains (target enter data, target exit data) contains (target exit data, parallel) /* { dg-error "target exit data' directive mentioned multiple times in 'contains' clauses" } */ ; #pragma omp assume absent (target enter data, target exit data) contains (target exit data, parallel) /* { dg-error "'target exit data' directive mentioned in both 'absent' and 'contains' clauses" } */ ; #pragma omp assume contains (target enter data, target exit data) absent (target enter data, parallel) /* { dg-error "'target enter data' directive mentioned in both 'absent' and 'contains' clauses" } */ ; #pragma omp assume contains (declare target) /* { dg-error "invalid OpenMP directive name in 'contains' clause argument" } */ ; #pragma omp assume absent (parallel for simd) /* { dg-error "unknown OpenMP directive name in 'absent' clause argument" } */ ; #pragma omp assume contains (target parallel) /* { dg-error "unknown OpenMP directive name in 'contains' clause argument" } */ ; #pragma omp assume absent (assume) /* { dg-error "invalid OpenMP directive name in 'absent' clause argument" } */ ; #pragma omp assume absent (assumes) /* { dg-error "invalid OpenMP directive name in 'absent' clause argument" } */ ; #pragma omp assume contains (begin assumes) /* { dg-error "invalid OpenMP directive name in 'contains' clause argument" } */ ; #pragma omp assume contains (end assumes) /* { dg-error "invalid OpenMP directive name in 'contains' clause argument" } */ ; #pragma omp assume contains (foo) /* { dg-error "unknown OpenMP directive name in 'contains' clause argument" } */ ; #pragma omp assume absent (target enter something) /* { dg-error "unknown OpenMP directive name in 'absent' clause argument" } */ ; #pragma omp assume foobar /* { dg-error "expected assumption clause" } */ ; #pragma omp assume ext_GCC_foobarbaz, ext_GCC_baz (1, 12, 1 < 17), no_parallelism /* { dg-warning "unknown assumption clause 'ext_GCC_foobarbaz'" } */ ; /* { dg-warning "unknown assumption clause 'ext_GCC_baz'" "" { target *-*-* } .-1 } */ #pragma omp assume /* { dg-error "expected at least one assumption clause" } */ ; }