This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
gfortran.dg/intrinsic_product_1.f90 fails on x86_64-linux with -m32
- From: FX <fxcoudert at gmail dot com>
- To: Fortran List <fortran at gcc dot gnu dot org>
- Date: Thu, 1 May 2008 00:33:25 +0100
- Subject: gfortran.dg/intrinsic_product_1.f90 fails on x86_64-linux with -m32
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:mime-version:content-transfer-encoding:message-id:content-type:to:from:subject:date:x-mailer; bh=REmy4HGumaPvI7IwUBXSCJYvg8ebwjYJV/JdtX8NMzw=; b=G56U6nmlq3z0yST5eMBla6Ebb4utKY7yh1PU224jj4JGT1U0qMQZC0kITDH9tu1vnQ/VHPoqKNYjj3p34twWkEACefgtk+QpnG/dy+prZQRV9MKS1aJb7v9ryZXNfRVazLxTbDZzj9tujmGAAKH65wm/Qe8QPEtmmXuBWNk2EMs=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:content-transfer-encoding:message-id:content-type:to:from:subject:date:x-mailer; b=O5RPrP0gc1GC1V6Q5Gah2qFwXsV1x4lyj5/ktIc/TTUcWYdu89LOKcirqgKxtYsJT5Lf/4xgOUFYhC3MEKPXyh45BNzx02BAsPWaxPR8r/6PeHnkbyZYnDFjxIXZgK6jxVD8WMYxdYxeWddIXFEhCZ124fkak+k8muVSnBDDxDs=
gfortran.dg/intrinsic_product_1.f90 fails at all optimisation levels
on x86_64-linux when -m32 is used:
$ cat intrinsic_product_1.f90
! { dg-do run }
! PR 35993 - some intrinsics with mask = .false. didn't set
! the whole return array for multi-dimensional arrays.
! Test case adapted from Dick Hendrickson.
program try
call ga3019( 1, 2, 3, 4)
end program
SUBROUTINE GA3019(nf1,nf2,nf3,nf4)
INTEGER IDA(NF2,NF3)
INTEGER IDA1(NF2,NF4,NF3)
ida1 = 3
ida = -3
IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, NF1 .LT. 0) !fails
print *, ida
if (any(ida /= 1)) call abort
ida = -3
IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, .false. ) !fails
print *, ida
if (any(ida /= 1)) call abort
ida = -3
IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, ida1 .eq. 137 ) !
works
print *, ida
if (any(ida /= 1)) call abort
END SUBROUTINE
$ vim intrinsic_product_1.f90
$ ./bin/gfortran -m64 intrinsic_product_1.f90 && ./a.out
1 1 1 1
1 1
1 1 1 1
1 1
1 1 1 1
1 1
$ ./bin/gfortran -m32 intrinsic_product_1.f90 && ./a.out
1 1 1 -3
-3 -3
1 1 1 -3
-3 -3
1 1 1 1
1 1
No more today, I'm going to bed.
FX
--
François-Xavier Coudert
http://www.homepages.ucl.ac.uk/~uccafco/