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

            Bug ID: 120431
           Summary: SPREAD does not handle scalar argument and NCOPIES=-1
                    correctly
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kargls at comcast dot net
  Target Milestone: ---

Consider,

  real :: arr
  arr = 1
  print *, spread(arr, 1, -1)
  end

% gfcx -o z a.f90 && ./z
Operating system error: Cannot allocate memory
Integer overflow in xmallocarray


>From F2023, 16.9.197

   Result Characteristics. The result is an array of the same type and type
     parameters as SOURCE and of rank n + 1, where n is the rank of SOURCE.

   Case (i): If SOURCE is scalar, the shape of the result is (MAX(NCOPIES,0)).

So, the result is a rank 1 zero-sized array.

Reply via email to