https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84697
Bug ID: 84697 Summary: minloc/maxloc not simplified with zero size Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: tkoenig at gcc dot gnu.org Target Milestone: --- Minloc and maxloc simplification are not yet done for zero-sized arrays. Consider $ cat minloc_zerosize_1.f90 program main implicit none integer, parameter :: z(0) = 0 integer, parameter, dimension(1) :: a = minloc(z) integer, parameter, dimension(1) :: b = minloc(z,mask=z>0) integer, parameter :: c = minloc(z,dim=1) end program main $ gfortran minloc_zerosize_1.f90 minloc_zerosize_1.f90:4:41: integer, parameter, dimension(1) :: a = minloc(z) 1 Fehler: Transformierende intrinsische Routine »minloc« bei (1) ist in einem Initialisierungs-Ausdruck nicht erlaubt minloc_zerosize_1.f90:5:41: integer, parameter, dimension(1) :: b = minloc(z,mask=z>0) 1 Fehler: Transformierende intrinsische Routine »minloc« bei (1) ist in einem Initialisierungs-Ausdruck nicht erlaubt minloc_zerosize_1.f90:6:27: integer, parameter :: c = minloc(z,dim=1) 1 Fehler: Transformierende intrinsische Routine »minloc« bei (1) ist in einem Initialisierungs-Ausdruck nicht erlaubt