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

            Bug ID: 93635
           Summary: Get ICE instead of error message if user incorrectly
                    equivalences allocateable  variables that are in a
                    NAMELIST group
           Product: gcc
           Version: 8.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: urbanjost at comcast dot net
  Target Milestone: ---

User programming error produces an ICE instead of the expected error message
 if trying to allocate equivalences variables.

 Only occurs if variables are also in a NAMELIST group

## MINIMAL REPRODUCER

    program boom
       implicit none
       character(len=:),allocatable :: r,rel
       namelist /args/ r,rel
       equivalence(r,rel)  !! USER ERROR: NOT ALLOWED FOR ALLOCATABLES
       allocate(character(len=1024) :: r)
    end program boom

## RESULTING ERROR

      boom.f90:5:0:

       allocate(character(len=1024) :: r)

      internal compiler error: in gfc_conv_variable, at
fortran/trans-expr.c:2723
      Please submit a full bug report,

ERROR IF NAMELIST STATEMENT REMOVED (a correct message to the user that code
has an error)

          equivalence(r,rel)  ! it is not legal to equivalence allocatable
variables
                   1
      Error: EQUIVALENCE attribute conflicts with ALLOCATABLE attribute in 'r'
at (1)

Reply via email to