1! RUN: %flang_fc1 -fdebug-pre-fir-tree -fopenmp %s | FileCheck %s 2 3! Test Pre-FIR Tree captures OpenMP related constructs 4 5! CHECK: Program test_omp 6program test_omp 7 ! CHECK: PrintStmt 8 print *, "sequential" 9 10 ! CHECK: <<OpenMPConstruct>> 11 !$omp parallel 12 ! CHECK: PrintStmt 13 print *, "in omp //" 14 ! CHECK: <<OpenMPConstruct>> 15 !$omp do 16 ! CHECK: <<DoConstruct>> 17 ! CHECK: LabelDoStmt 18 do i=1,100 19 ! CHECK: PrintStmt 20 print *, "in omp do" 21 ! CHECK: EndDoStmt 22 end do 23 ! CHECK: <<End DoConstruct>> 24 ! CHECK: OmpEndLoopDirective 25 !$omp end do 26 ! CHECK: <<End OpenMPConstruct>> 27 28 ! CHECK: PrintStmt 29 print *, "not in omp do" 30 31 ! CHECK: <<OpenMPConstruct>> 32 !$omp do 33 ! CHECK: <<DoConstruct>> 34 ! CHECK: LabelDoStmt 35 do i=1,100 36 ! CHECK: PrintStmt 37 print *, "in omp do" 38 ! CHECK: EndDoStmt 39 end do 40 ! CHECK: <<End DoConstruct>> 41 ! CHECK: <<End OpenMPConstruct>> 42 ! CHECK-NOT: OmpEndLoopDirective 43 ! CHECK: PrintStmt 44 print *, "no in omp do" 45 !$omp end parallel 46 ! CHECK: <<End OpenMPConstruct>> 47 48 ! CHECK: PrintStmt 49 print *, "sequential again" 50 51 ! CHECK: <<OpenMPConstruct>> 52 !$omp task 53 ! CHECK: PrintStmt 54 print *, "in task" 55 !$omp end task 56 ! CHECK: <<End OpenMPConstruct>> 57 58 ! CHECK: PrintStmt 59 print *, "sequential again" 60end program 61