1 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -ast-print %s | FileCheck %s 2 // expected-no-diagnostics 3 4 extern void bar(); 5 6 void foo() 7 { 8 #pragma omp assume no_openmp_routines 9 // CHECK: omp assume no_openmp_routines 10 { 11 #pragma omp assume no_parallelism 12 // CHECK: omp assume no_parallelism 13 {} 14 } 15 16 #pragma omp target 17 // CHECK: omp target 18 { 19 #pragma omp assume holds(1==1) 20 // CHECK: omp assume holds(1 == 1) 21 {} 22 } 23 24 #pragma omp assume no_parallelism 25 // CHECK: omp assume no_parallelism 26 { 27 #pragma omp target 28 // CHECK: omp target 29 {} 30 } 31 32 #pragma omp assume absent(parallel) 33 // CHECK: omp assume absent(parallel) 34 { 35 #pragma omp assume contains(target, loop) 36 // CHECK: omp assume contains(target, loop) 37 { 38 #pragma omp assume holds(1==1) 39 // CHECK: omp assume holds(1 == 1) 40 { 41 #pragma omp assume absent(teams) 42 // CHECK: omp assume absent(teams) 43 { 44 #pragma omp assume no_openmp_routines 45 // CHECK: omp assume no_openmp_routines 46 { 47 bar(); 48 } 49 } 50 } 51 } 52 } 53 } 54