xref: /llvm-project/clang/test/OpenMP/ompx_bare_messages.c (revision 0f5eef1fb3e3f6491fb27dfb69b230946ffea69c)
1 // RUN: %clang_cc1 -verify -fopenmp -triple x86_64-unknown-unknown %s
2 // RUN: %clang_cc1 -verify -fopenmp-simd -triple x86_64-unknown-unknown %s
3 // RUN: %clang_cc1 -verify -fopenmp -triple x86_64-unknown-unknown -fopenmp-targets=nvptx64 %s
4 
foo()5 void foo() {
6 }
7 
bar()8 void bar() {
9 #pragma omp target ompx_bare // expected-error {{unexpected OpenMP clause 'ompx_bare' in directive '#pragma omp target'}} expected-note {{OpenMP extension clause 'ompx_bare' only allowed with '#pragma omp target teams'}}
10   foo();
11 
12 #pragma omp target teams distribute ompx_bare // expected-error {{unexpected OpenMP clause 'ompx_bare' in directive '#pragma omp target teams distribute'}} expected-note {{OpenMP extension clause 'ompx_bare' only allowed with '#pragma omp target teams'}}
13   for (int i = 0; i < 10; ++i) {}
14 
15 #pragma omp target teams distribute parallel for ompx_bare // expected-error {{unexpected OpenMP clause 'ompx_bare' in directive '#pragma omp target teams distribute parallel for'}} expected-note {{OpenMP extension clause 'ompx_bare' only allowed with '#pragma omp target teams'}}
16   for (int i = 0; i < 10; ++i) {}
17 
18 #pragma omp target
19 #pragma omp teams ompx_bare // expected-error {{unexpected OpenMP clause 'ompx_bare' in directive '#pragma omp teams'}} expected-note {{OpenMP extension clause 'ompx_bare' only allowed with '#pragma omp target teams'}}
20   foo();
21 
22 #pragma omp target teams ompx_bare // expected-error {{'ompx_bare' clauses requires explicit grid size via 'num_teams' and 'thread_limit' clauses}}
23   foo();
24 }
25