143 lines · plain
1! RUN: %python %S/test_symbols.py %s %flang_fc12!DEF: /s1 (Subroutine) Subprogram3subroutine s14 !DEF: /s1/a ObjectEntity REAL(4)5 !DEF: /s1/b ObjectEntity REAL(4)6 real a(10), b(10)7 !DEF: /s1/i ObjectEntity INTEGER(8)8 integer(kind=8) i9 !DEF: /s1/Forall1/i ObjectEntity INTEGER(8)10 forall(i=1:10)11 !REF: /s1/a12 !REF: /s1/Forall1/i13 !REF: /s1/b14 a(i) = b(i)15 end forall16 !DEF: /s1/Forall2/i ObjectEntity INTEGER(8)17 !REF: /s1/a18 !REF: /s1/b19 forall(i=1:10)a(i) = b(i)20end subroutine21 22!DEF: /s2 (Subroutine) Subprogram23subroutine s224 !DEF: /s2/a ObjectEntity REAL(4)25 real a(10)26 !DEF: /s2/i ObjectEntity INTEGER(4)27 integer i28 !DEF: /s2/Forall1/i ObjectEntity INTEGER(4)29 do concurrent(i=1:10)30 !REF: /s2/a31 !REF: /s2/Forall1/i32 a(i) = i33 end do34 !REF: /s2/i35 do i=1,1036 !REF: /s2/a37 !REF: /s2/i38 a(i) = i39 end do40end subroutine41 42!DEF: /s3 (Subroutine) Subprogram43subroutine s344 !DEF: /s3/n PARAMETER ObjectEntity INTEGER(4)45 integer, parameter :: n = 446 !DEF: /s3/n2 PARAMETER ObjectEntity INTEGER(4)47 !REF: /s3/n48 integer, parameter :: n2 = n*n49 !REF: /s3/n50 !DEF: /s3/x (InDataStmt) ObjectEntity REAL(4)51 real, dimension(n,n) :: x52 !REF: /s3/x53 !DEF: /s3/ImpliedDos1/k (Implicit) ObjectEntity INTEGER(4)54 !DEF: /s3/ImpliedDos1/ImpliedDos1/j ObjectEntity INTEGER(8)55 !REF: /s3/n56 !REF: /s3/n257 data ((x(k,j),integer(kind=8)::j=1,n),k=1,n)/n2*3.0/58end subroutine59 60!DEF: /s4 (Subroutine) Subprogram61subroutine s462 !DEF: /s4/t DerivedType63 !DEF: /s4/t/k TypeParam INTEGER(4)64 type :: t(k)65 !REF: /s4/t/k66 integer, kind :: k67 !DEF: /s4/t/a ObjectEntity INTEGER(4)68 integer :: a69 end type t70 !REF: /s4/t71 !DEF: /s4/x (InDataStmt) ObjectEntity TYPE(t(k=1_4))72 type(t(1)) :: x73 !REF: /s4/x74 !REF: /s4/t75 data x/t(1)(2)/76 !REF: /s4/x77 !REF: /s4/t78 x = t(1)(2)79end subroutine80 81!DEF: /s5 (Subroutine) Subprogram82subroutine s583 !DEF: /s5/t DerivedType84 !DEF: /s5/t/l TypeParam INTEGER(4)85 type :: t(l)86 !REF: /s5/t/l87 integer, len :: l88 end type t89 !REF: /s5/t90 !DEF: /s5/x ALLOCATABLE ObjectEntity TYPE(t(l=:))91 type(t(:)), allocatable :: x92 !DEF: /s5/y ALLOCATABLE ObjectEntity REAL(4)93 real, allocatable :: y94 !REF: /s5/t95 !REF: /s5/x96 allocate(t(1)::x)97 !REF: /s5/y98 allocate(real::y)99end subroutine100 101!DEF: /s6 (Subroutine) Subprogram102subroutine s6103 !DEF: /s6/j ObjectEntity INTEGER(8)104 integer(kind=8) j105 !DEF: /s6/a ObjectEntity INTEGER(4)106 integer :: a(5) = 1107 !DEF: /s6/Forall1/i ObjectEntity INTEGER(4)108 !DEF: /s6/Forall1/j (LocalityLocal) HostAssoc INTEGER(8)109 !DEF: /s6/Forall1/k (Implicit, LocalityLocalInit) HostAssoc INTEGER(4)110 !DEF: /s6/Forall1/a (LocalityShared) HostAssoc INTEGER(4)111 do concurrent(integer::i=1:5)local(j)local_init(k)shared(a)112 !REF: /s6/Forall1/a113 !REF: /s6/Forall1/i114 !REF: /s6/Forall1/j115 a(i) = j+1116 end do117end subroutine118 119!DEF: /s7 (Subroutine) Subprogram120subroutine s7121 !DEF: /s7/one PARAMETER ObjectEntity REAL(4)122 real, parameter :: one = 1.0123 !DEF: /s7/z ObjectEntity COMPLEX(4)124 !REF: /s7/one125 complex :: z = (one, -one)126end subroutine127 128!DEF: /s8 (Subroutine) Subprogram129subroutine s8130 !DEF: /s8/one PARAMETER ObjectEntity REAL(4)131 real, parameter :: one = 1.0132 !DEF: /s8/y (InDataStmt) ObjectEntity REAL(4)133 !DEF: /s8/z (InDataStmt) ObjectEntity REAL(4)134 real y(10), z(10)135 !REF: /s8/y136 !DEF: /s8/ImpliedDos1/i (Implicit) ObjectEntity INTEGER(4)137 !REF: /s8/z138 !DEF: /s8/ImpliedDos2/i (Implicit) ObjectEntity INTEGER(4)139 !DEF: /s8/x (Implicit, InDataStmt) ObjectEntity REAL(4)140 !REF: /s8/one141 data (y(i),i=1,10),(z(i),i=1,10),x/21*one/142end subroutine143