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

--- Comment #10 from Paul Thomas <pault at gcc dot gnu.org> ---
Thanks for all your investigations into this and pr119540. Compiling with -m32
to trigger the bug was something that I should have thought of myself :-(
Thanks!

> Why is dim /= NULL?

I don't know. I have tried all manner of changes to the declaration in
intrinsic.cc and the prototypes in reduce.c. I even tried changing the wrapper
to an integer, kind=4 function to no avail.

This fails in the same way.

! Compile with -m32
program test_reduce
   implicit none
   integer :: i
   real(16) :: rvec(2), rres0
   rvec = [1.0, 2.0]
   rres0 = reduce (rvec, add)
   if (abs (rres0 - 3.0) > 1e-6) stop
contains
   pure real(16) function add (i, j)
      real(16), intent(in) :: i, j
      add = i + j
   end function add
end

See the next comment and attachment for a rather desperate attempt to
understand what is happening.

Paul

Reply via email to