re PR target/35944 (wrong result for MOD with kind=10 for some array argument values)

PR target/35944
        * gfortran.dg/pr35944-1.f90: New test.
        * gfortran.dg/pr35944-2.f90: Ditto.

From-SVN: r134359
This commit is contained in:
Uros Bizjak 2008-04-16 20:39:08 +02:00
parent 300dde2735
commit 64bfac4146
3 changed files with 45 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2008-04-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR target/35944
* gfortran.dg/pr35944-1.f90: New test.
* gfortran.dg/pr35944-2.f90: Ditto.
2008-04-16 Jakub Jelinek <jakub@redhat.com>
PR c/35739
@ -212,7 +218,7 @@
* gfortran.dg/bind_c_usage_14.f03: Adjust.
2008-04-08 Andy Hutchinson <hutchinsonandy@aim.com>
2008-04-08 Andy Hutchinson <hutchinsonandy@aim.com>
PR target/35005
* execute/20071221-1.c: Adapt test for 16 bit int targets.
@ -250,7 +256,7 @@
2008-04-07 Kai Tietz <kai.tietz@onevision.com>
PR/35842
* gcc.dg/torture/pr35842.c: New.
* gcc.dg/torture/pr35842.c: New.
2008-04-07 Eric Botcazou <ebotcazou@adacore.com>

View File

@ -0,0 +1,22 @@
! { dg-do run }
implicit none
integer i
real rda1(10), rda(10), rval
double precision dda1(10), dda(10), dval
rda = (/ 1,2,3,4,5,6,7,8,9,10 /)
rDA1 = MOD (1.1*(rDA(1)-5.0), P=(rDA-2.5))
DO i = 1, 10
rVAL = MOD (1.1*(rDA(1)-5.0), P=(rDA(i)-2.5))
if (rval /= rda1(i)) call abort
enddo
dda = (/ 1,2,3,4,5,6,7,8,9,10 /)
dDA1 = MOD (1.1d0*(dDA(1)-5.0d0), P=(dDA-2.5d0))
DO i = 1, 10
dVAL = MOD (1.1d0*(dDA(1)-5.0d0), P=(dDA(i)-2.5d0))
if (dval /= dda1(i)) call abort
enddo
end

View File

@ -0,0 +1,15 @@
! { dg-do run }
! { dg-require-effective-target fortran_large_real }
implicit none
integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1)
integer :: i
real(k) :: qda1(10), qda(10), qval
qda = (/ 1,2,3,4,5,6,7,8,9,10 /)
QDA1 = MOD (1.1_k*(QDA(1)-5.0_k), P=(QDA-2.5_k))
DO i = 1, 10
QVAL = MOD (1.1_k*(QDA(1)-5.0_k), P=(QDA(i)-2.5_k))
if (qval /= qda1(i)) call abort
enddo
end