79 lines · plain
1!RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=60 %s | FileCheck --ignore-case --check-prefix="UNPARSE" %s2!RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=60 %s | FileCheck --check-prefix="PARSE-TREE" %s3 4subroutine f00(x)5 implicit none6 integer :: x7 !$omp target_data map(to: x) transparent8 block9 end block10end11 12!UNPARSE: SUBROUTINE f00 (x)13!UNPARSE: IMPLICIT NONE14!UNPARSE: INTEGER x15!UNPARSE: !$OMP TARGET_DATA MAP(TO: x) TRANSPARENT16!UNPARSE: BLOCK17!UNPARSE: END BLOCK18!UNPARSE: END SUBROUTINE19 20!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OmpBlockConstruct21!PARSE-TREE: | OmpBeginDirective22!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = target data23!PARSE-TREE: | | OmpClauseList -> OmpClause -> Map -> OmpMapClause24!PARSE-TREE: | | | Modifier -> OmpMapType -> Value = To25!PARSE-TREE: | | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x'26!PARSE-TREE: | | | bool = 'true'27!PARSE-TREE: | | OmpClause -> Transparent ->28!PARSE-TREE: | | Flags = {}29!PARSE-TREE: | Block30 31 32subroutine f0133 !$omp task transparent(0)34 !$omp end task35end36 37!UNPARSE: SUBROUTINE f0138!UNPARSE: !$OMP TASK TRANSPARENT(0_4)39!UNPARSE: !$OMP END TASK40!UNPARSE: END SUBROUTINE41 42!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OmpBlockConstruct43!PARSE-TREE: | OmpBeginDirective44!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = task45!PARSE-TREE: | | OmpClauseList -> OmpClause -> Transparent -> OmpTransparentClause -> Scalar -> Integer -> Expr = '0_4'46!PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '0'47!PARSE-TREE: | | Flags = {}48!PARSE-TREE: | Block49!PARSE-TREE: | OmpEndDirective50!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = task51!PARSE-TREE: | | OmpClauseList ->52!PARSE-TREE: | | Flags = {}53 54 55subroutine f0256 implicit none57 integer :: i58 !$omp taskloop transparent(2)59 do i = 1, 1060 end do61end62 63!UNPARSE: SUBROUTINE f0264!UNPARSE: IMPLICIT NONE65!UNPARSE: INTEGER i66!UNPARSE: !$OMP TASKLOOP TRANSPARENT(2_4)67!UNPARSE: DO i=1_4,10_468!UNPARSE: END DO69!UNPARSE: END SUBROUTINE70 71!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPLoopConstruct72!PARSE-TREE: | OmpBeginLoopDirective73!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = taskloop74!PARSE-TREE: | | OmpClauseList -> OmpClause -> Transparent -> OmpTransparentClause -> Scalar -> Integer -> Expr = '2_4'75!PARSE-TREE: | | | LiteralConstant -> IntLiteralConstant = '2'76!PARSE-TREE: | | Flags = {}77!PARSE-TREE: | Block78!PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> DoConstruct79