1 ! RUN: %python %S/test_symbols.py %s %flang_fc1
2 ! Test the executable part skimming for apparent calls, to ensure that
3 ! symbols in nested scopes (BLOCK, &c.) properly shadow host symbols.
7 !DEF: /subr (Subroutine) Subprogram
8 !DEF: /subr/da INTENT(IN) ObjectEntity CLASS(*)
9 !DEF: /subr/ar INTENT(IN) ObjectEntity REAL(4)
10 subroutine subr (da
, ar
)
12 class(*), intent(in
) :: da(:)
14 real, intent(in
) :: ar(..)
15 !DEF: /subr/s2 ObjectEntity REAL(4)
16 !DEF: /subr/s4 ObjectEntity REAL(4)
17 !DEF: /subr/s6 ObjectEntity REAL(4)
18 !DEF: /subr/s7 (Function) ProcEntity REAL(4)
19 !DEF: /subr/s8 ObjectEntity REAL(4)
20 real s2
, s4
, s6
, s7
, s8
21 !DEF: /s1 EXTERNAL (Function, Implicit) ProcEntity REAL(4)
24 !DEF: /subr/BlockConstruct1/s2 ObjectEntity INTEGER(4)
25 !DEF: /subr/BlockConstruct1/s5 (Function) ProcEntity INTEGER(4)
27 !DEF: /subr/BlockConstruct1/s4 DerivedType
29 !DEF: /subr/BlockConstruct1/s4/n ObjectEntity INTEGER(4)
32 !REF: /subr/BlockConstruct1/s2
34 !DEF: /s3 EXTERNAL (Function, Implicit) ProcEntity REAL(4)
36 !REF: /subr/BlockConstruct1/s4
38 !REF: /subr/BlockConstruct1/s5
43 !DEF: /s2 EXTERNAL (Function, Implicit) ProcEntity REAL(4)
49 !DEF: /s8 EXTERNAL (Function, Implicit) ProcEntity REAL(4)
58 !DEF: /subr/OtherConstruct1/s2 AssocEntity REAL(4)
59 associate (s2
=> [1.])
60 !REF: /subr/OtherConstruct1/s2
64 select
type (s2
=> da
)
66 !DEF: /subr/OtherConstruct2/s2 AssocEntity REAL(4)
70 select
rank (s2
=> ar
)
72 !DEF: /subr/OtherConstruct3/s2 AssocEntity REAL(4)