xref: /llvm-project/clang/test/OpenMP/requires_target_messages.cpp (revision 4db88a54b6d4bd38fe38dbe57ec2a156ff3c144e)
1 // RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100  %s
2 // RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=99 -DOMP99 -verify=expected,rev -ferror-limit 100  %s
3 
foo2()4 void foo2() {
5   int a;
6   #pragma omp target // expected-note 3 {{'target' previously encountered here}} rev-note {{'target' previously encountered here}}
7   {
8     a = a + 1;
9   }
10 }
11 
12 #pragma omp requires atomic_default_mem_order(seq_cst)
13 #pragma omp requires unified_address //expected-error {{'target' region encountered before requires directive with 'unified_address' clause}}
14 #pragma omp requires unified_shared_memory //expected-error {{'target' region encountered before requires directive with 'unified_shared_memory' clause}}
15 #ifdef OMP99
16 #pragma omp requires reverse_offload //expected-error {{'target' region encountered before requires directive with 'reverse_offload' clause}}
17 #endif
18 #pragma omp requires dynamic_allocators //expected-error {{'target' region encountered before requires directive with 'dynamic_allocators' clause}}
19