| 1 | // RUN: %clang_cc1 -triple x86_64-unknown-unknown -fopenmp -ast-dump %s | FileCheck --match-full-lines -implicit-check-not=openmp_structured_block %s |
| 2 | |
| 3 | void test_zero() { |
| 4 | #pragma omp parallel sections |
| 5 | {} |
| 6 | } |
| 7 | |
| 8 | void test_one() { |
| 9 | #pragma omp parallel sections |
| 10 | { ; } |
| 11 | } |
| 12 | |
| 13 | // CHECK: TranslationUnitDecl {{.*}} <<invalid sloc>> <invalid sloc> |
| 14 | // CHECK: |-FunctionDecl {{.*}} <{{.*}}ast-dump-openmp-parallel-sections.c:3:1, line:6:1> line:3:6 test_zero 'void ()' |
| 15 | // CHECK-NEXT: | `-CompoundStmt {{.*}} <col:18, line:6:1> |
| 16 | // CHECK-NEXT: `-FunctionDecl {{.*}} <line:8:1, line:11:1> line:8:6 test_one 'void ()' |
| 17 | // CHECK-NEXT: `-CompoundStmt {{.*}} <col:17, line:11:1> |
| 18 | // CHECK-NEXT: `-OMPParallelSectionsDirective {{.*}} <line:9:9, col:30> |
| 19 | // CHECK-NEXT: `-CapturedStmt {{.*}} <line:10:3, col:7> |
| 20 | // CHECK-NEXT: `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> |
| 21 | // CHECK-NEXT: |-CompoundStmt {{.*}} <col:3, col:7> openmp_structured_block |
| 22 | // CHECK-NEXT: | `-NullStmt {{.*}} <col:5> |
| 23 | // CHECK-NEXT: |-ImplicitParamDecl {{.*}} <line:9:9> col:9 implicit .global_tid. 'const int *const restrict' |
| 24 | // CHECK-NEXT: |-ImplicitParamDecl {{.*}} <col:9> col:9 implicit .bound_tid. 'const int *const restrict' |
| 25 | // CHECK-NEXT: `-ImplicitParamDecl {{.*}} <col:9> col:9 implicit __context 'struct (anonymous at {{.*}}ast-dump-openmp-parallel-sections.c:9:9) *const restrict' |
| 26 | |