113 lines · plain
1!RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=51 %s | FileCheck --ignore-case --check-prefix="UNPARSE" %s2!RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=51 %s | FileCheck --check-prefix="PARSE-TREE" %s3 4subroutine f005 !$omp nothing6end7 8!UNPARSE: SUBROUTINE f009!UNPARSE: !$OMP NOTHING10!UNPARSE: END SUBROUTINE11 12!PARSE-TREE: ExecutionPart -> Block13!PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPUtilityConstruct -> OmpNothingDirective14 15subroutine f0116 block17 import, none18 integer :: x19 !$omp nothing ! "nothing" in the execution part20 x = x+121 end block22end23 24!UNPARSE: SUBROUTINE f0125!UNPARSE: BLOCK26!UNPARSE: IMPORT, NONE27!UNPARSE: INTEGER x28!UNPARSE: !$OMP NOTHING29!UNPARSE: x=x+1_430!UNPARSE: END BLOCK31!UNPARSE: END SUBROUTINE32 33!PARSE-TREE: BlockStmt ->34!PARSE-TREE: BlockSpecificationPart -> SpecificationPart35!PARSE-TREE: | ImportStmt36!PARSE-TREE: | ImplicitPart ->37!PARSE-TREE: | DeclarationConstruct -> SpecificationConstruct -> TypeDeclarationStmt38!PARSE-TREE: | | DeclarationTypeSpec -> IntrinsicTypeSpec -> IntegerTypeSpec ->39!PARSE-TREE: | | EntityDecl40!PARSE-TREE: | | | Name = 'x'41!PARSE-TREE: Block42!PARSE-TREE: | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPUtilityConstruct -> OmpNothingDirective43!PARSE-TREE: | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> AssignmentStmt = 'x=x+1_4'44!PARSE-TREE: | | Variable = 'x'45!PARSE-TREE: | | | Designator -> DataRef -> Name = 'x'46!PARSE-TREE: | | Expr = 'x+1_4'47!PARSE-TREE: | | | Add48!PARSE-TREE: | | | | Expr = 'x'49!PARSE-TREE: | | | | | Designator -> DataRef -> Name = 'x'50!PARSE-TREE: | | | | Expr = '1_4'51!PARSE-TREE: | | | | | LiteralConstant -> IntLiteralConstant = '1'52!PARSE-TREE: EndBlockStmt ->53 54subroutine f0255 integer :: x56 !$omp nothing57end58 59!UNPARSE: SUBROUTINE f0260!UNPARSE: INTEGER x61!UNPARSE: !$OMP NOTHING62!UNPARSE: END SUBROUTINE63 64!PARSE-TREE: SpecificationPart65!PARSE-TREE: | ImplicitPart ->66!PARSE-TREE: | DeclarationConstruct -> SpecificationConstruct -> TypeDeclarationStmt67!PARSE-TREE: | | DeclarationTypeSpec -> IntrinsicTypeSpec -> IntegerTypeSpec ->68!PARSE-TREE: | | EntityDecl69!PARSE-TREE: | | | Name = 'x'70!PARSE-TREE: ExecutionPart -> Block71!PARSE-TREE: | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPUtilityConstruct -> OmpNothingDirective72 73subroutine f0374 block75 !$omp nothing ! "nothing" in the specification part76 import, none77 integer :: x78 x = x+179 end block80end81 82!UNPARSE: SUBROUTINE f0383!UNPARSE: BLOCK84!UNPARSE: !$OMP NOTHING85!UNPARSE: IMPORT, NONE86!UNPARSE: INTEGER x87!UNPARSE: x=x+1_488!UNPARSE: END BLOCK89!UNPARSE: END SUBROUTINE90 91!PARSE-TREE: ExecutionPart -> Block92!PARSE-TREE: | ExecutionPartConstruct -> ExecutableConstruct -> BlockConstruct93!PARSE-TREE: | | BlockStmt ->94!PARSE-TREE: | | BlockSpecificationPart -> SpecificationPart95!PARSE-TREE: | | | OpenMPDeclarativeConstruct -> OpenMPUtilityConstruct -> OmpNothingDirective96!PARSE-TREE: | | | ImportStmt97!PARSE-TREE: | | | ImplicitPart ->98!PARSE-TREE: | | | DeclarationConstruct -> SpecificationConstruct -> TypeDeclarationStmt99!PARSE-TREE: | | | | DeclarationTypeSpec -> IntrinsicTypeSpec -> IntegerTypeSpec ->100!PARSE-TREE: | | | | EntityDecl101!PARSE-TREE: | | | | | Name = 'x'102!PARSE-TREE: | | Block103!PARSE-TREE: | | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> AssignmentStmt = 'x=x+1_4'104!PARSE-TREE: | | | | Variable = 'x'105!PARSE-TREE: | | | | | Designator -> DataRef -> Name = 'x'106!PARSE-TREE: | | | | Expr = 'x+1_4'107!PARSE-TREE: | | | | | Add108!PARSE-TREE: | | | | | | Expr = 'x'109!PARSE-TREE: | | | | | | | Designator -> DataRef -> Name = 'x'110!PARSE-TREE: | | | | | | Expr = '1_4'111!PARSE-TREE: | | | | | | | LiteralConstant -> IntLiteralConstant = '1'112!PARSE-TREE: | | EndBlockStmt ->113!PARSE-TREE: EndSubroutineStmt ->