96 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 f005 !$omp taskgraph6 block7 end block8end9 10!UNPARSE: SUBROUTINE f0011!UNPARSE: !$OMP TASKGRAPH12!UNPARSE: BLOCK13!UNPARSE: END BLOCK14!UNPARSE: END SUBROUTINE15 16!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OmpBlockConstruct17!PARSE-TREE: | OmpBeginDirective18!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = taskgraph19!PARSE-TREE: | | OmpClauseList ->20!PARSE-TREE: | | Flags = {}21!PARSE-TREE: | Block22!PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> BlockConstruct23!PARSE-TREE: | | | BlockStmt ->24!PARSE-TREE: | | | BlockSpecificationPart -> SpecificationPart25!PARSE-TREE: | | | | ImplicitPart ->26!PARSE-TREE: | | | Block27!PARSE-TREE: | | | EndBlockStmt ->28 29 30subroutine f01(x, y)31 integer :: x32 logical :: y33 !$omp taskgraph graph_id(x) graph_reset(y)34 !$omp task35 continue36 !$omp end task37 !$omp end taskgraph38end39 40!UNPARSE: SUBROUTINE f01 (x, y)41!UNPARSE: INTEGER x42!UNPARSE: LOGICAL y43!UNPARSE: !$OMP TASKGRAPH GRAPH_ID(x) GRAPH_RESET(y)44!UNPARSE: !$OMP TASK45!UNPARSE: CONTINUE46!UNPARSE: !$OMP END TASK47!UNPARSE: !$OMP END TASKGRAPH48!UNPARSE: END SUBROUTINE49 50!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OmpBlockConstruct51!PARSE-TREE: | OmpBeginDirective52!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = taskgraph53!PARSE-TREE: | | OmpClauseList -> OmpClause -> GraphId -> OmpGraphIdClause -> Scalar -> Integer -> Expr = 'x'54!PARSE-TREE: | | | Designator -> DataRef -> Name = 'x'55!PARSE-TREE: | | OmpClause -> GraphReset -> OmpGraphResetClause -> Scalar -> Logical -> Expr = 'y'56!PARSE-TREE: | | | Designator -> DataRef -> Name = 'y'57!PARSE-TREE: | | Flags = {}58!PARSE-TREE: | Block59!PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OmpBlockConstruct60!PARSE-TREE: | | | OmpBeginDirective61!PARSE-TREE: | | | | OmpDirectiveName -> llvm::omp::Directive = task62!PARSE-TREE: | | | | OmpClauseList ->63!PARSE-TREE: | | | | Flags = {}64!PARSE-TREE: | | | Block65!PARSE-TREE: | | | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> ContinueStmt66!PARSE-TREE: | | | OmpEndDirective67!PARSE-TREE: | | | | OmpDirectiveName -> llvm::omp::Directive = task68!PARSE-TREE: | | | | OmpClauseList ->69!PARSE-TREE: | | | | Flags = {}70!PARSE-TREE: | OmpEndDirective71!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = taskgraph72!PARSE-TREE: | | OmpClauseList ->73!PARSE-TREE: | | Flags = {}74 75 76subroutine f0277 !$omp taskgraph graph_reset78 !$omp end taskgraph79end80 81!UNPARSE: SUBROUTINE f0282!UNPARSE: !$OMP TASKGRAPH GRAPH_RESET83!UNPARSE: !$OMP END TASKGRAPH84!UNPARSE: END SUBROUTINE85 86!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OmpBlockConstruct87!PARSE-TREE: | OmpBeginDirective88!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = taskgraph89!PARSE-TREE: | | OmpClauseList -> OmpClause -> GraphReset ->90!PARSE-TREE: | | Flags = {}91!PARSE-TREE: | Block92!PARSE-TREE: | OmpEndDirective93!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = taskgraph94!PARSE-TREE: | | OmpClauseList ->95!PARSE-TREE: | | Flags = {}96