https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50410
--- Comment #56 from Paul Thomas <pault at gcc dot gnu.org> --- > I've removed the other part that tries to detect the double initialization. > I think this is the wrong place as is would not detect e.g. the following: > > program p > type t > integer :: g > end type t > type(t) :: u > data u /t(3)/ > data u%g /2/ > end > > A better-suited place is probably the loop in gfc_assign_data_value, but > find_con_by_component seems not to be able to handle the current situation. For some reason that I cannot see, 'init' is disappearing for this case and so the attempt to update 'u' is silently passed over. This is the same behaviour as ifort, whereas nagfor throws "Error: pr50410.f90, line 8: U has already been completely initialised". This is heading towards a WONTFIX :-( Paul