!RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=61 %s | FileCheck --ignore-case --check-prefix="UNPARSE" %s !RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=61 %s | FileCheck --check-prefix="PARSE-TREE" %s subroutine f00 !$omp teams num_teams(dims(2): 10, 4) !$omp end teams end !UNPARSE: SUBROUTINE f00 !UNPARSE: !$OMP TEAMS NUM_TEAMS(DIMS(2_4):10_4, 4_4) !UNPARSE: !$OMP END TEAMS !UNPARSE: END SUBROUTINE !PARSE-TREE: OmpBeginDirective !PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = teams !PARSE-TREE: | OmpClauseList -> OmpClause -> NumTeams -> OmpNumTeamsClause !PARSE-TREE: | | Modifier -> OmpDimsModifier -> Scalar -> Integer -> Constant -> Expr = '2_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '2' !PARSE-TREE: | | Scalar -> Integer -> Expr = '10_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '10' !PARSE-TREE: | | Scalar -> Integer -> Expr = '4_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '4' !PARSE-TREE: | Flags = {} subroutine f01 !$omp teams num_teams(dims(2), 3: 10, 4) !$omp end teams end !UNPARSE: SUBROUTINE f01 !UNPARSE: !$OMP TEAMS NUM_TEAMS(DIMS(2_4), 3_4:10_4, 4_4) !UNPARSE: !$OMP END TEAMS !UNPARSE: END SUBROUTINE !PARSE-TREE: OmpBeginDirective !PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = teams !PARSE-TREE: | OmpClauseList -> OmpClause -> NumTeams -> OmpNumTeamsClause !PARSE-TREE: | | Modifier -> OmpDimsModifier -> Scalar -> Integer -> Constant -> Expr = '2_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '2' !PARSE-TREE: | | Modifier -> OmpLowerBound -> Scalar -> Integer -> Expr = '3_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '3' !PARSE-TREE: | | Scalar -> Integer -> Expr = '10_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '10' !PARSE-TREE: | | Scalar -> Integer -> Expr = '4_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '4' !PARSE-TREE: | Flags = {} subroutine f02 !$omp teams thread_limit(dims(3): 16) !$omp end teams end !UNPARSE: SUBROUTINE f02 !UNPARSE: !$OMP TEAMS THREAD_LIMIT(DIMS(3_4):16_4) !UNPARSE: !$OMP END TEAMS !UNPARSE: END SUBROUTINE !PARSE-TREE: OmpBeginDirective !PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = teams !PARSE-TREE: | OmpClauseList -> OmpClause -> ThreadLimit -> OmpThreadLimitClause !PARSE-TREE: | | Modifier -> OmpDimsModifier -> Scalar -> Integer -> Constant -> Expr = '3_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '3' !PARSE-TREE: | | Scalar -> Integer -> Expr = '16_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '16' !PARSE-TREE: | Flags = {} subroutine f03 !$omp parallel num_threads(dims(4): 4, 5, 6, 7) !$omp end parallel end !UNPARSE: SUBROUTINE f03 !UNPARSE: !$OMP PARALLEL NUM_THREADS(DIMS(4_4):4_4, 5_4, 6_4, 7_4) !UNPARSE: !$OMP END PARALLEL !UNPARSE: END SUBROUTINE !PARSE-TREE: OmpBeginDirective !PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = parallel !PARSE-TREE: | OmpClauseList -> OmpClause -> NumThreads -> OmpNumThreadsClause !PARSE-TREE: | | Modifier -> OmpDimsModifier -> Scalar -> Integer -> Constant -> Expr = '4_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '4' !PARSE-TREE: | | Scalar -> Integer -> Expr = '4_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '4' !PARSE-TREE: | | Scalar -> Integer -> Expr = '5_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '5' !PARSE-TREE: | | Scalar -> Integer -> Expr = '6_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '6' !PARSE-TREE: | | Scalar -> Integer -> Expr = '7_4' !PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '7' !PARSE-TREE: | Flags = {}