https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50410

--- Comment #55 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

Reply via email to