1! RUN: %flang_fc1 -fdebug-pre-fir-tree -fopenmp %s | FileCheck %s 2 3! Test structure of the Pre-FIR tree with OpenMP declarative construct 4 5! CHECK: Module m 6module m 7 real, dimension(10) :: x 8 ! CHECK-NEXT: OpenMPDeclarativeConstruct 9 !$omp threadprivate(x) 10end 11! CHECK: End Module m 12 13! CHECK: Module m2 14module m2 15 integer, save :: i 16 ! CHECK-NEXT: OpenMPDeclarativeConstruct 17 !$omp threadprivate(i) 18contains 19 subroutine sub() 20 i = 1; 21 end 22 subroutine sub2() 23 i = 2; 24 end 25end 26! CHECK: End Module m2 27 28! CHECK: Program main 29program main 30 real :: y 31 ! CHECK-NEXT: OpenMPDeclarativeConstruct 32 !$omp threadprivate(y) 33end 34! CHECK: End Program main 35 36! CHECK: Subroutine sub1 37subroutine sub1() 38 real, save :: p 39 ! CHECK-NEXT: OpenMPDeclarativeConstruct 40 !$omp threadprivate(p) 41end 42! CHECK: End Subroutine sub1 43 44! CHECK: Subroutine sub2 45subroutine sub2() 46 real, save :: q 47 ! CHECK-NEXT: OpenMPDeclarativeConstruct 48 !$omp threadprivate(q) 49contains 50 subroutine sub() 51 end 52end 53! CHECK: End Subroutine sub2 54 55