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

--- Comment #6 from anlauf at gcc dot gnu.org ---
Using the LEN() intrinsic works fine, as the dump-tree shows for

  implicit none
  type t
     character :: c = "a"
  end type t
  type(t), parameter :: x = t()
  integer, parameter :: l = x%c%len   ! error and m=0
! integer, parameter :: l = len(x%c)  ! no error, m=1
  integer :: m = l
  print *, m
end

Also the following compiles/works fine:

  implicit none
  type t
     character :: c = "a"
  end type t
  type(t), parameter :: x = t()
  character(*), parameter :: d = x% c
  integer,      parameter :: l = d% len
  integer :: m = l
  print *, m
end

Reply via email to