Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / OpenMP / symbol07.f90
blobe2250f5c7908aa516ea8207d0d203cfb500da0e5
1 ! RUN: %python %S/../test_symbols.py %s %flang_fc1 -fopenmp
3 ! Generic tests
4 ! 1. subroutine or function calls should not be fixed for DSA or DMA
6 !DEF: /foo (Function) Subprogram REAL(4)
7 !DEF: /foo/rnum ObjectEntity REAL(4)
8 function foo(rnum)
9 !REF: /foo/rnum
10 real rnum
11 !REF: /foo/rnum
12 rnum = rnum+1.
13 end function foo
14 !DEF: /function_call_in_region EXTERNAL (Subroutine) Subprogram
15 subroutine function_call_in_region
16 implicit none
17 !DEF: /function_call_in_region/foo (Function) ProcEntity REAL(4)
18 real foo
19 !DEF: /function_call_in_region/a ObjectEntity REAL(4)
20 real :: a = 0.
21 !DEF: /function_call_in_region/b ObjectEntity REAL(4)
22 real :: b = 5.
23 !$omp parallel default(none) private(a) shared(b)
24 !DEF: /function_call_in_region/OtherConstruct1/a (OmpPrivate) HostAssoc REAL(4)
25 !REF: /function_call_in_region/foo
26 !REF: /function_call_in_region/b
27 a = foo(b)
28 !$omp end parallel
29 !REF: /function_call_in_region/a
30 !REF: /function_call_in_region/b
31 print *, a, b
32 end subroutine function_call_in_region
33 !DEF: /mm MainProgram
34 program mm
35 !REF: /function_call_in_region
36 call function_call_in_region
37 end program mm