118 lines · plain
1! RUN: %python %S/test_symbols.py %s %flang_fc12! Explicit and implicit entities in blocks3 4!DEF: /s1 (Subroutine) Subprogram5subroutine s16 !DEF: /s1/x ObjectEntity INTEGER(4)7 integer x8 block9 !DEF: /s1/BlockConstruct1/y ObjectEntity INTEGER(4)10 integer y11 !REF: /s1/x12 x = 113 !REF: /s1/BlockConstruct1/y14 y = 2.015 end block16 block17 !DEF: /s1/BlockConstruct2/y ObjectEntity REAL(4)18 real y19 !REF: /s1/BlockConstruct2/y20 y = 3.021 end block22end subroutine23 24!DEF: /s2 (Subroutine) Subprogram25subroutine s226 implicit integer(w-x)27 block28 !DEF: /s2/x (Implicit) ObjectEntity INTEGER(4)29 x = 130 !DEF: /s2/y (Implicit) ObjectEntity REAL(4)31 y = 232 end block33contains34 !DEF: /s2/s (Subroutine) Subprogram35 subroutine s36 !DEF: /s2/s/x (Implicit) HostAssoc INTEGER(4)37 x = 138 !DEF: /s2/s/w (Implicit) ObjectEntity INTEGER(4)39 w = 140 end subroutine41end subroutine42 43!DEF: /s3 (Subroutine) Subprogram44subroutine s345 !DEF: /s3/j ObjectEntity INTEGER(8)46 integer(kind=8) j47 block48 !DEF: /s3/BlockConstruct1/t DerivedType49 type :: t50 !DEF: /s3/BlockConstruct1/t/x ObjectEntity REAL(4)51 !DEF: /s3/BlockConstruct1/t/ImpliedDos1/i (Implicit) ObjectEntity INTEGER(4)52 real :: x(10) = [(i, i=1,10)]53 !DEF: /s3/BlockConstruct1/t/y ObjectEntity REAL(4)54 !DEF: /s3/BlockConstruct1/t/ImpliedDos2/j ObjectEntity INTEGER(8)55 real :: y(10) = [(j, j=1,10)]56 end type57 end block58end subroutine59 60!DEF: /s4 (Subroutine) Subprogram61subroutine s462 implicit integer(x)63 interface64 !DEF: /s4/s EXTERNAL (Subroutine) Subprogram65 !DEF: /s4/s/x (Implicit) ObjectEntity REAL(4)66 !DEF: /s4/s/y (Implicit) ObjectEntity INTEGER(4)67 subroutine s (x, y)68 implicit integer(y)69 end subroutine70 end interface71end subroutine72 73!DEF: /s5 (Subroutine) Subprogram74subroutine s575 block76 !DEF: /s5/BlockConstruct1/x (Implicit) ObjectEntity REAL(4)77 dimension :: x(2)78 block79 !DEF: /s5/BlockConstruct1/BlockConstruct1/x (Implicit) ObjectEntity REAL(4)80 dimension :: x(3)81 end block82 end block83 !DEF: /s5/x (Implicit) ObjectEntity REAL(4)84 x = 1.085end subroutine86 87!DEF: /s6 (Subroutine) Subprogram88subroutine s689 !DEF: /s6/i ObjectEntity INTEGER(4)90 !DEF: /s6/j ObjectEntity INTEGER(4)91 !DEF: /s6/k ObjectEntity INTEGER(4)92 integer i, j, k93 block94 !DEF: /s6/BlockConstruct1/i ASYNCHRONOUS, VOLATILE HostAssoc INTEGER(4)95 volatile :: i96 !DEF: /s6/BlockConstruct1/j ASYNCHRONOUS HostAssoc INTEGER(4)97 asynchronous :: j98 !REF: /s6/BlockConstruct1/i99 asynchronous :: i100 !DEF: /s6/BlockConstruct1/k TARGET (Implicit) ObjectEntity INTEGER(4)101 target :: k102 end block103end subroutine104 105!DEF: /m7 Module106module m7107 !DEF: /m7/i PUBLIC ObjectEntity INTEGER(4)108 !DEF: /m7/j PUBLIC ObjectEntity INTEGER(4)109 integer i, j110end module111!DEF: /s7 (Subroutine) Subprogram112subroutine s7113 !REF: /m7114 use :: m7115 !DEF: /s7/j VOLATILE Use INTEGER(4)116 volatile :: j117end subroutine118