! RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=50 %s | FileCheck --ignore-case --check-prefix="UNPARSE" %s ! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=50 %s | FileCheck --check-prefix="PARSE-TREE" %s subroutine foo1() integer :: x, i x = 1 !$omp parallel do lastprivate(x) do i = 1, 100 x = x + 1 enddo end !UNPARSE: SUBROUTINE foo1 !UNPARSE: INTEGER x, i !UNPARSE: x=1_4 !UNPARSE: !$OMP PARALLEL DO LASTPRIVATE(x) !UNPARSE: DO i=1_4,100_4 !UNPARSE: x=x+1_4 !UNPARSE: END DO !UNPARSE: END SUBROUTINE !PARSE-TREE: SubroutineStmt !PARSE-TREE: Name = 'foo1' !PARSE-TREE: OmpLoopDirective -> llvm::omp::Directive = parallel do !PARSE-TREE: OmpClauseList -> OmpClause -> Lastprivate -> OmpLastprivateClause !PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x' !PARSE-TREE: EndSubroutineStmt subroutine foo2() integer :: x, i x = 1 !$omp parallel do lastprivate(conditional: x) do i = 1, 100 x = x + 1 enddo end !UNPARSE: SUBROUTINE foo2 !UNPARSE: INTEGER x, i !UNPARSE: x=1_4 !UNPARSE: !$OMP PARALLEL DO LASTPRIVATE(CONDITIONAL: x) !UNPARSE: DO i=1_4,100_4 !UNPARSE: x=x+1_4 !UNPARSE: END DO !UNPARSE: END SUBROUTINE !PARSE-TREE: SubroutineStmt !PARSE-TREE: Name = 'foo2' !PARSE-TREE: OmpLoopDirective -> llvm::omp::Directive = parallel do !PARSE-TREE: OmpClauseList -> OmpClause -> Lastprivate -> OmpLastprivateClause !PARSE-TREE: Modifier -> OmpLastprivateModifier -> Value = Conditional !PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x' !PARSE-TREE: EndSubroutineStmt