1 ! RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=50 %s | \
2 ! RUN: FileCheck --ignore-case %s
4 ! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=50 %s | \
5 ! RUN: FileCheck --check-prefix="PARSE-TREE" %s
7 ! Check for parsing of loop directive
11 !PARSE-TREE: OmpBeginLoopDirective
12 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = loop
20 !PARSE-TREE: OmpBeginLoopDirective
21 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = loop
22 !PARSE-TREE-NEXT: OmpClauseList -> OmpClause -> Bind -> OmpBindClause -> Binding = Thread
24 !$omp loop bind(thread)
31 subroutine test_target_loop
33 !PARSE-TREE: OmpBeginLoopDirective
34 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = target loop
35 !CHECK: !$omp target loop
43 subroutine test_target_teams_loop
45 !PARSE-TREE: OmpBeginLoopDirective
46 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = target teams loop
47 !CHECK: !$omp target teams loop
48 !$omp target teams loop
52 !$omp end target teams loop
55 subroutine test_target_parallel_loop
57 !PARSE-TREE: OmpBeginLoopDirective
58 !PARSE-TREE-NEXT: OmpLoopDirective -> llvm::omp::Directive = target parallel loop
59 !CHECK: !$omp target parallel loop
60 !$omp target parallel loop
64 !$omp end target parallel loop