Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / gfortran.dg / derived_comp_array_ref_4.f90
blob0c7853989e52cd878d8217e8763e982f7e9ef60b
1 ! { dg-do run }
2 ! Tests the fix for PR33376, which was a regression caused by the
3 ! fix for PR31564.
5 ! Contributed by Harald Anlauf <anlauf@gmx.de>
7 module foo
8 implicit none
9 public chk
11 type mytype
12 character(len=4) :: str
13 end type mytype
14 type (mytype) ,parameter :: chk (2) &
15 = (/ mytype ("abcd") , mytype ("efgh") /)
16 end module foo
18 module gfcbug70
19 use foo, only: chk_ => chk
20 implicit none
21 contains
23 subroutine chk (i)
24 integer, intent(in) :: i
25 if (i .eq. 1) then
26 if (chk_(i)% str .ne. "abcd") call abort ()
27 else
28 if (chk_(i)% str .ne. "efgh") call abort ()
29 end if
31 end subroutine chk
32 end module gfcbug70
34 use gfcbug70
35 call chk (2)
36 call chk (1)
37 end
38 ! { dg-final { cleanup-modules "foo gfcbug70" } }