! { dg-do run } ! PR fortran/83874 ! There was an ICE while initializing the character arrays ! ! Contributed by Harald Anlauf ! program charinit implicit none type t character(len=1) :: name end type t type(t), parameter :: z(2)= [ t ('a'), t ('b') ] character(len=1), parameter :: names1(*) = z% name character(len=*), parameter :: names2(2) = z% name character(len=*), parameter :: names3(*) = z% name if (.not. (names1(1) == "a" .and. names1(2) == "b")) STOP 1 if (.not. (names2(1) == "a" .and. names2(2) == "b")) STOP 2 if (.not. (names3(1) == "a" .and. names3(2) == "b")) STOP 3 end program charinit