character (len = 8) :: h
  character (len = 9) :: i
  h = '01234567'
  i = 'ABCDEFGHI'
  call test (h, i, 9)
contains
  subroutine test (p, q, n)
    character (len = *) :: p
    character (len = n) :: q, r, t, u
    logical :: l
    l = .false.
    r = ''
    if (n .gt. 8) r = 'jklmnopqr'
    u = 'abc'
    l = l .or. p .ne. '01234567' .or. q .ne. 'ABCDEFGHI'
    l = l .or. r .ne. 'jklmnopqr' .or. u .ne. 'abc'
    p = 'A'
    q = 'B'
    r = 'C'
    t = '123'
    u = '987654321'
    l = l .or. u .ne. '987654321'
    l = l .or. p .ne. 'A' .or. q .ne. 'B' .or. r .ne. 'C'
    l = l .or. t .ne. '123'
    if (l) call abort
  end subroutine test
end

causes f951 hang.


-- 
           Summary: f951 hangs if multiple variable length character
                    variables declared on one line
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24339

Reply via email to