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



             Bug #: 55735

           Summary: ICE with deferred-length strings in COMMON

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Keywords: ice-on-valid-code

          Severity: normal

          Priority: P3

         Component: fortran

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: bur...@gcc.gnu.org





I think the following test case it valid. In any case, an ICE is a bug. Vaguely

related is PR 55733.



block data

  character(len=:), pointer :: str(:)

  common /foo/ str

end block data



subroutine bar()

  character(len=:), pointer :: str

  common /foo/ str

!  print *, len(str), '"'//str//'"' !ICE in gfc_conv_intrinsic_len

  print '(3a)', '"',str(1:6),'"' ! ICE in gfc_conv_variable

end



character(len=:), pointer :: str(:)

common /foo/ str

allocate (character(len=6) :: str(1))

str = "ABCDEF"

call bar()

end

Reply via email to