| ! RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=60 %s | FileCheck --ignore-case %s | |
| ! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=60 %s | FileCheck --check-prefix="PARSE-TREE" %s | |
| subroutine openmp_interchange(x) | |
| integer :: x, y | |
| !CHECK: !$omp interchange permutation(2_4,1_4) | |
| !$omp interchange permutation(2,1) | |
| !CHECK: do | |
| do x = 1, 100 | |
| !CHECK: do | |
| do y = 1, 100 | |
| call F1() | |
| !CHECK: end do | |
| end do | |
| !CHECK: end do | |
| end do | |
| !CHECK: !$omp end interchange | |
| !$omp end interchange | |
| !PARSE-TREE: OpenMPConstruct -> OpenMPLoopConstruct | |
| !PARSE-TREE: OmpBeginDirective | |
| !PARSE-TREE: OmpDirectiveName -> llvm::omp::Directive = interchange | |
| !PARSE-TREE: OmpClauseList -> OmpClause -> Permutation -> Scalar -> Integer -> Constant -> Expr = '2_4' | |
| !PARSE-TREE: LiteralConstant -> IntLiteralConstant = '2' | |
| !PARSE-TREE: Scalar -> Integer -> Constant -> Expr = '1_4' | |
| !PARSE-TREE: LiteralConstant -> IntLiteralConstant = '1' | |
| !PARSE-TREE: Flags = {} | |
| !PARSE-TREE: DoConstruct | |
| !PARSE-TREE: EndDoStmt | |
| !PARSE-TREE: OmpEndDirective | |
| !PARSE-TREE: OmpDirectiveName -> llvm::omp::Directive = interchange | |
| END subroutine openmp_interchange |