55 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=50 %s | FileCheck --ignore-case --check-prefix="UNPARSE" %s 2! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=50 %s | FileCheck --check-prefix="PARSE-TREE" %s3 4subroutine foo1()5 integer :: x, i6 x = 17 !$omp parallel do lastprivate(x)8 do i = 1, 1009 x = x + 110 enddo11end12 13!UNPARSE: SUBROUTINE foo114!UNPARSE: INTEGER x, i15!UNPARSE: x=1_416!UNPARSE: !$OMP PARALLEL DO LASTPRIVATE(x)17!UNPARSE: DO i=1_4,100_418!UNPARSE: x=x+1_419!UNPARSE: END DO20!UNPARSE: END SUBROUTINE21 22!PARSE-TREE: SubroutineStmt23!PARSE-TREE: Name = 'foo1'24!PARSE-TREE: OmpDirectiveName -> llvm::omp::Directive = parallel do25!PARSE-TREE: OmpClauseList -> OmpClause -> Lastprivate -> OmpLastprivateClause26!PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x'27!PARSE-TREE: EndSubroutineStmt28 29 30subroutine foo2()31 integer :: x, i32 x = 133 !$omp parallel do lastprivate(conditional: x)34 do i = 1, 10035 x = x + 136 enddo37end38 39!UNPARSE: SUBROUTINE foo240!UNPARSE: INTEGER x, i41!UNPARSE: x=1_442!UNPARSE: !$OMP PARALLEL DO LASTPRIVATE(CONDITIONAL: x)43!UNPARSE: DO i=1_4,100_444!UNPARSE: x=x+1_445!UNPARSE: END DO46!UNPARSE: END SUBROUTINE47 48!PARSE-TREE: SubroutineStmt49!PARSE-TREE: Name = 'foo2'50!PARSE-TREE: OmpDirectiveName -> llvm::omp::Directive = parallel do51!PARSE-TREE: OmpClauseList -> OmpClause -> Lastprivate -> OmpLastprivateClause52!PARSE-TREE: Modifier -> OmpLastprivateModifier -> Value = Conditional53!PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x'54!PARSE-TREE: EndSubroutineStmt55