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

            Bug ID: 93671
           Summary: gfortran 8-10 ICE on intrinsic assignment to
                    allocatable derived-type component of coarray
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: damian at sourceryinstitute dot org
  Target Milestone: ---

The code below generates an internal compiler error (ICE) in gfortran 8.3.0,
9.2.0, and in 10.0.0 dated 20200111.

A more complete demonstration the data structures of interest is shown in the
code example at http://bit.ly/37aHXxG, which works with the Intel Fortran
compiler version 18. I"m not clear on whether the code is standard-conforming,
but the code compiles and executes without error with the Intel compiler
version 18 as does the longer, more complex version at the aforementioned URL
executes without error.

$ cat gfortran-8-10-ice.f90 

  type flux_planes
    integer, allocatable :: normals
  end type

  type package
    type(flux_planes) surface_fluxes(1)
  end type

  type(package) mail[*], halo_data

  halo_data%surface_fluxes(1)%normals = 1
  mail = halo_data
end

$ gfortran -fcoarray=single gfortran-8-10-ice.f90 
gfortran-8-10-ice.f90:12:0:

   12 |   mail = halo_data
      | 
internal compiler error: Segmentation fault: 11
libbacktrace could not find executable to open

$ gfortran --version
GNU Fortran (GCC) 10.0.0 20200111 (experimental)

Reply via email to