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

--- Comment #5 from Harald Anlauf <anlauf at gmx dot de> ---
Maybe the dump-tree gives a hint.  Looking at the example

program t
  character(:), dimension(:), allocatable, target :: c
  character(:), dimension(:), pointer :: p
  allocate(c(10),source='X')
  p=>c
  write(*,*) size(c),len(c) !,' c=<',c(1),'>'
  write(*,*) size(p),len(p) !,' p=<',p(1),'>'
end program t

I find:

t ()
{
  integer(kind=4) .c;
  struct array1_unknown c;
  integer(kind=4) .p;
  struct array1_unknown p;
[...]
    .c = 1;
[...]

but .p seems to never get set.  (.c, .p are the quantities
that are printed as the len(c),len(p)).

Reply via email to