[Bug fortran/91717] ICE on concatenating deferred-length character and character literal

paul.richard.thomas at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Sep 12 14:03:00 GMT 2019


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

--- Comment #4 from paul.richard.thomas at gmail dot com <paul.richard.thomas at gmail dot com> ---
Yes it is - the .false. on entry comes about because the allocatable
component must be deallocated on entry to scope. The reallocation on
assignment takes care of the rest.

Cheers

Paul

On Thu, 12 Sep 2019 at 11:03, dominiq at lps dot ens.fr
<gcc-bugzilla@gcc.gnu.org> wrote:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91717
>
> --- Comment #3 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> The patch at https://gcc.gnu.org/ml/fortran/2019-09/msg00027.html
> fixes the ICE and the test
>
>   type core
>     character (len=:), allocatable :: msg
>   end type
>
>   type(core) :: my_core
>
>   print *, allocated(my_core%msg)
>
>   type core
>     character (len=:), allocatable :: msg
>   end type
>
>   type(core) :: my_core
>
>   print *, allocated(my_core%msg)
>
>   my_core%msg = "test"
>   print *, allocated(my_core%msg), len(my_core%msg)
>
>   my_core%msg = my_core%msg//"message"
>
>   print *, allocated(my_core%msg)
>   print *, ">", my_core%msg, "<"
>
> end
>
> gives
>
>  F
>  T           4
>  T
>  >testmessage<
>
> Is this the expected result?
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
> You are the assignee for the bug.


More information about the Gcc-bugs mailing list