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

            Bug ID: 99837
           Summary: ICE in parse_associate, at fortran/parse.c:4780
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Follow-up of pr88357, affects versions down to at least r5.
With a missing attribute allocatable or pointer :


$ cat z1.f90
program p
   type t
      integer, allocatable :: a(:)
   end type
   class(t) :: x[:]
   associate (y => x)
   end associate
end


$ cat z2.f90
program p
   type t
      integer, allocatable :: a(:)
   end type
   class(t) :: x[*]
   associate (y => x)
   end associate
end


$ gfortran-11-20210328 -c z1.f90 -fcoarray=single
f951: internal compiler error: in parse_associate, at fortran/parse.c:4780
0x6e3f39 parse_associate
        ../../gcc/fortran/parse.c:4780
0x6e3f39 parse_executable
        ../../gcc/fortran/parse.c:5524
0x6e401f parse_progunit
        ../../gcc/fortran/parse.c:5922
0x6e5671 gfc_parse_file()
        ../../gcc/fortran/parse.c:6437
0x7320ef gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:212



With that attribute :

$ cat z0z1.f90
program p
   type t
      integer, allocatable :: a(:)
   end type
   class(t), allocatable :: x[:]
   associate (y => x)
   end associate
end

$ gfortran-11-20210328 -c z0z1.f90 -fcoarray=single
z0z1.f90:1:9:

    1 | program p
      |         1
Error: Pointer assignment target in initialization expression does not have the
TARGET attribute at (1)

Reply via email to