1 ! RUN: %flang_fc1 -fdebug-unparse -fopenmp %s | FileCheck --ignore-case %s
2 ! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp %s | FileCheck --check-prefix="PARSE-TREE" %s
4 ! Check for parsing of master directive
7 subroutine test_master()
9 !PARSE-TREE: OmpBeginBlockDirective
10 !PARSE-TREE-NEXT: OmpBlockDirective -> llvm::omp::Directive = master
17 subroutine test_master_taskloop_simd()
19 !PARSE-TREE: OmpBeginLoopDirective
20 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = master taskloop simd
21 !CHECK: !$omp master taskloop simd
22 !$omp master taskloop simd
26 !$omp end master taskloop simd
29 subroutine test_master_taskloop
31 !PARSE-TREE: OmpBeginLoopDirective
32 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = master taskloop
33 !CHECK: !$omp master taskloop
38 !$omp end master taskloop
41 subroutine test_parallel_master
43 !PARSE-TREE: OmpBeginBlockDirective
44 !PARSE-TREE-NEXT: OmpBlockDirective -> llvm::omp::Directive = parallel master
45 !CHECK: !$omp parallel master
48 !$omp end parallel master
51 subroutine test_parallel_master_taskloop_simd
53 !PARSE-TREE: OmpBeginLoopDirective
54 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = parallel master taskloop simd
55 !CHECK: !$omp parallel master taskloop simd
56 !$omp parallel master taskloop simd
60 !$omp end parallel master taskloop simd
63 subroutine test_parallel_master_taskloop
65 !PARSE-TREE: OmpBeginLoopDirective
66 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = parallel master taskloop
67 !CHECK: !$omp parallel master taskloop
68 !$omp parallel master taskloop
72 !$omp end parallel master taskloop