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

Paul Thomas <pault at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |pault at gcc dot gnu.org

--- Comment #9 from Paul Thomas <pault at gcc dot gnu.org> ---
Created attachment 43438
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43438&action=edit
A demo patch for the PR

This does the job but sucks stylistically. I will sort out something better.

It does regtest fine, though :-) It also fixes:

program main
    implicit none
    integer:: i
    integer, parameter:: N = 10
    character(len=:), dimension(:),allocatable:: ca
    character(len=:), dimension(:,:),allocatable:: cb
    allocate(character(len=N) :: ca(3))
    ca(1) = "foo"
    ca(2) = "bar"
    ca(3) = "xyzzy"
    write (*, '(3A5)') ca(1:3)
    allocate(character(len=N) :: cb(3,2))
    cb(1,1) = "foo"
    cb(2,1) = "bar"
    cb(3,1) = "xyzzy"
    write (*, '(3A5)') cb(1:3,1) ! Hence the assignment of the rank!          
end program

Paul

Reply via email to