brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · a5365d1 Raw
46 lines · plain
1! RUN: %python %S/test_modfile.py %s %flang_fc12! Test folding of combined array references and structure component3! references.4 5module m16  type :: t17    integer :: ia1(2)8  end type t19  type(t1), parameter :: t1x1(*) = [t1::t1(ia1=[1,2]),t1(ia1=[3,4])]10  logical, parameter :: t1check1 = t1x1(2)%ia1(1) == 311  logical, parameter :: t1check2 = all(t1x1(1)%ia1 == [1,2])12  logical, parameter :: t1check3 = all(t1x1(:)%ia1(1) == [1,3])13  type :: t214    type(t1) :: dta1(2)15  end type t216  type(t2), parameter :: t2x1(*) = &17    [t2 :: t2(dta1=[t1::t1x1]), &18           t2(dta1=[t1::t1(ia1=[5,6]),t1(ia1=[7,8])])]19  logical, parameter :: t2check1 = t2x1(1)%dta1(2)%ia1(2) == 420  logical, parameter :: t2check2 = &21    all(t2x1(2)%dta1(2)%ia1(:) == [7,8])22  logical, parameter :: t2check3 = &23    all(t2x1(1)%dta1(:)%ia1(2) == [2,4])24  logical, parameter :: t2check4 = &25    all(t2x1(:)%dta1(1)%ia1(2) == [2,6])26end module m127!Expect: m1.mod28!module m129!type::t130!integer(4)::ia1(1_8:2_8)31!end type32!type(t1),parameter::t1x1(1_8:*)=[t1::t1(ia1=[INTEGER(4)::1_4,2_4]),t1(ia1=[INTEGER(4)::3_4,4_4])]33!logical(4),parameter::t1check1=.true._434!logical(4),parameter::t1check2=.true._435!intrinsic::all36!logical(4),parameter::t1check3=.true._437!type::t238!type(t1)::dta1(1_8:2_8)39!end type40!type(t2),parameter::t2x1(1_8:*)=[t2::t2(dta1=[t1::t1(ia1=[INTEGER(4)::1_4,2_4]),t1(ia1=[INTEGER(4)::3_4,4_4])]),t2(dta1=[t1::t1(ia1=[INTEGER(4)::5_4,6_4]),t1(ia1=[INTEGER(4)::7_4,8_4])])]41!logical(4),parameter::t2check1=.true._442!logical(4),parameter::t2check2=.true._443!logical(4),parameter::t2check3=.true._444!logical(4),parameter::t2check4=.true._445!end46