This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/18495] New: Intrinisc function SPREAD is broken
- From: "paulthomas2 at wanadoo dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Nov 2004 05:36:23 -0000
- Subject: [Bug fortran/18495] New: Intrinisc function SPREAD is broken
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Detected a fault in the fortran 90 version of the LLNL "mflops" test. SPREAD
is causing a segmentation fault in "KERNEL 21". Replacing this section with
the fortran77 kernel corrects the fault (BTW will report the benchmarks on the
gfortran wiki - they do not look too bad at all!). The fault is caused by:
DO K = 1, 25
PX(:,:N) = PX(:,:N) + SPREAD(VY(:25,K),DIM = 2,NCOPIES = N)* &
& SPREAD(CX(K,:N),DIM = 1,NCOPIES = 25)
END DO
where N is 1000
The following codelet gives incorrect results for small N and also segment
faults for large enough N (eg 1000, as here):
program test_spread
implicit none
integer, parameter :: N = 1000
integer :: I
integer, dimension(N) :: source
integer, dimension(N,N) :: sink
do i = 1 , N
source(i) = N
end do
print *,'product'
sink = spread( source , 1 , N ) * spread( source , N , N )
print *, sink
stop
end program test_spread
--
Summary: Intrinisc function SPREAD is broken
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: paulthomas2 at wanadoo dot fr
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18495