http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59781
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.9.0
Summary|[4.9 Regression] [F03] |[4.7/4.8/4.9 Regression]
|Incorrect initialisation of |[F03] Incorrect
|derived type |initialisation of derived
| |type
--- Comment #3 from janus at gcc dot gnu.org ---
I verified that the problem is not specific to ISO_C_BINDING and occurs also
when replacing type(c_ptr) by some other derived type.
The following variant works with 4.4 (printing '1' as expected), but fails with
4.6 and above (printing some random number):
implicit none
type t1
integer :: s
end type
type t2
type(t1) :: state = t1(1)
real, allocatable :: store(:)
end type
call test
contains
subroutine test
type(t2) :: rng
print *,rng%state%s
end subroutine
end