xref: /llvm-project/flang/test/Lower/pre-fir-tree06.f90 (revision 518e6f12f37cc47be99c6d218bf07c0191c66de2)
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