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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
                 CC|                            |kargl at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-08-12

--- Comment #1 from kargl at gcc dot gnu.org ---
(In reply to David Sagan from comment #0)

> 
> call out_io_lines2 ([character(80):: &
>         'Beam parameters not computed at: ' // trim(name), &
>         'Singular sigma matrix is:', &
>         '  \6es15.7\', '  \6es15.7\', '  \6es15.7\', '  \6es15.7\', ' 
> \6es15.7\', '  \6es15.7\', &
>         'Will not print any more singular sigma matrices'])

For some reason, gfortran is ignoring the type-spec
in the array constructor of the actual argument if 
one uses the concatenation operator in the first
element of the constructor.  The length is set to
that of the first element.

This is going to be entertaining for whomever
takes on the challenge.  Here's a modified
test to consider

program tao_program

   implicit none

   integer i
   character(80) abc(9)
   character(40) name

   name = 'H'
   abc = [character(80) :: 'a'//trim(name), 'ab', 'abc', 'd', 'def', 'g', &
   &  'ghi', 'z', 'zy']

   call io([character(80) :: 'a'//trim(name), 'ab', 'abc', 'd', &
   &  'def', 'g', 'ghi', 'z', 'zyxwvut'])

   print *

   abc = [character(80) :: 'a', 'ab', 'abc', 'd'//trim(name), 'def', 'g', &
   &  'ghi', 'z', 'zy']

   call io([character(80) :: 'a', 'ab', 'abc', 'd'//trim(name), &
   &  'def', 'g', 'ghi', 'z', 'zyxwvut'])

   contains

      subroutine io (lines)
         implicit none
         character(*) lines(:)
         integer i
         do i = 1, size(lines)
            write(*,'(I0,A)') i, ' ' // trim(abc(i)) // ' ' // trim(lines(i))
         end do
      end subroutine io

end program

Reply via email to