64 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 integer :: x, v6 !$omp atomic read7 v = x8 !$omp end atomic9end10 11!UNPARSE: SUBROUTINE f0012!UNPARSE: INTEGER x, v13!UNPARSE: !$OMP ATOMIC READ14!UNPARSE: v=x15!UNPARSE: !$OMP END ATOMIC16!UNPARSE: END SUBROUTINE17 18!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPAtomicConstruct19!PARSE-TREE: | OmpBeginDirective20!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = atomic21!PARSE-TREE: | | OmpClauseList -> OmpClause -> Read22!PARSE-TREE: | | Flags = {}23!PARSE-TREE: | Block24!PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> AssignmentStmt = 'v=x'25!PARSE-TREE: | | | Variable = 'v'26!PARSE-TREE: | | | | Designator -> DataRef -> Name = 'v'27!PARSE-TREE: | | | Expr = 'x'28!PARSE-TREE: | | | | Designator -> DataRef -> Name = 'x'29!PARSE-TREE: | OmpEndDirective30!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = atomic31!PARSE-TREE: | | OmpClauseList ->32!PARSE-TREE: | | Flags = {}33 34 35subroutine f0136 integer :: x, v37 !$omp atomic read38 v = x39 !$omp endatomic40end41 42!UNPARSE: SUBROUTINE f0143!UNPARSE: INTEGER x, v44!UNPARSE: !$OMP ATOMIC READ45!UNPARSE: v=x46!UNPARSE: !$OMP END ATOMIC47!UNPARSE: END SUBROUTINE48 49!PARSE-TREE: ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPAtomicConstruct50!PARSE-TREE: | OmpBeginDirective51!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = atomic52!PARSE-TREE: | | OmpClauseList -> OmpClause -> Read53!PARSE-TREE: | | Flags = {}54!PARSE-TREE: | Block55!PARSE-TREE: | | ExecutionPartConstruct -> ExecutableConstruct -> ActionStmt -> AssignmentStmt = 'v=x'56!PARSE-TREE: | | | Variable = 'v'57!PARSE-TREE: | | | | Designator -> DataRef -> Name = 'v'58!PARSE-TREE: | | | Expr = 'x'59!PARSE-TREE: | | | | Designator -> DataRef -> Name = 'x'60!PARSE-TREE: | OmpEndDirective61!PARSE-TREE: | | OmpDirectiveName -> llvm::omp::Directive = atomic62!PARSE-TREE: | | OmpClauseList ->63!PARSE-TREE: | | Flags = {}64