This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
[fortran, committed] Fix a few more test cases for -fdefault-integer-8
- From: Thomas Koenig <tkoenig at netcologne dot de>
- To: fortran at gcc dot gnu dot org
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 20 Nov 2007 23:02:39 +0100
- Subject: [fortran, committed] Fix a few more test cases for -fdefault-integer-8
Committed as obvious, revision 130322.
I want to fix as many of the test cases as possible in order to
isolate the real bugs.
Thomas
2007-11-20 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/32770
* gfortran.dg/record_marker_1.f90: Explicitly set kinds
so test passes with -frecord-marker=8.
* gfortran.dg/integer_exponentiation_1.f90: Likewise.
* gfortran.dg/integer_exponentiation_2.f90: Likewise.
* gfortran.dg/integer_exponentiation_3.F90: Likewise.
* gfortran.dg/integer_exponentiation_5.F90: Likewise.
* gfortrand.dg/modulo_1.f90: Likewise.
Index: ChangeLog
===================================================================
--- ChangeLog (revision 130321)
+++ ChangeLog (working copy)
@@ -1,3 +1,14 @@
+2007-11-20 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/32770
+ * gfortran.dg/record_marker_1.f90: Explicitly set kinds
+ so test passes with -frecord-marker=8.
+ * gfortran.dg/integer_exponentiation_1.f90: Likewise.
+ * gfortran.dg/integer_exponentiation_2.f90: Likewise.
+ * gfortran.dg/integer_exponentiation_3.F90: Likewise.
+ * gfortran.dg/integer_exponentiation_5.F90: Likewise.
+ * gfortrand.dg/modulo_1.f90: Likewise.
+
2007-11-20 Richard Sandiford <rsandifo@nildram.co.uk>
* lib/target-supports.exp (check_effective_target_mips_soft_float):
Index: gfortran.dg/record_marker_1.f90
===================================================================
--- gfortran.dg/record_marker_1.f90 (revision 130258)
+++ gfortran.dg/record_marker_1.f90 (working copy)
@@ -3,36 +3,36 @@
program main
implicit none
- integer :: i1, i2, i3
+ integer(kind=4) :: i1, i2, i3
open(15,form="UNFORMATTED")
- write (15) 1
+ write (15) 1_4
close (15)
open (15,form="UNFORMATTED",access="DIRECT",recl=4)
- i1 = 1
- i2 = 2
- i3 = 3
+ i1 = 1_4
+ i2 = 2_4
+ i3 = 3_4
read (15,rec=1) i1
read (15,rec=2) i2
read (15,rec=3) i3
close (15, status="DELETE")
- if (i1 /= 4) call abort
- if (i2 /= 1) call abort
- if (i3 /= 4) call abort
+ if (i1 /= 4_4) call abort
+ if (i2 /= 1_4) call abort
+ if (i3 /= 4_4) call abort
open(15,form="UNFORMATTED",convert="SWAP")
- write (15) 1
+ write (15) 1_4
close (15)
open (15,form="UNFORMATTED",access="DIRECT",convert="SWAP",recl=4)
- i1 = 1
- i2 = 2
- i3 = 3
+ i1 = 1_4
+ i2 = 2_4
+ i3 = 3_4
read (15,rec=1) i1
read (15,rec=2) i2
read (15,rec=3) i3
close(15,status="DELETE")
- if (i1 /= 4) call abort
- if (i2 /= 1) call abort
- if (i3 /= 4) call abort
+ if (i1 /= 4_4) call abort
+ if (i2 /= 1_4) call abort
+ if (i3 /= 4_4) call abort
end program main
Index: gfortran.dg/integer_exponentiation_1.f90
===================================================================
--- gfortran.dg/integer_exponentiation_1.f90 (revision 130258)
+++ gfortran.dg/integer_exponentiation_1.f90 (working copy)
@@ -2,5 +2,5 @@
! PR 30981 - this used to go into an endless loop during execution.
program test
a = 3.0
- b = a**(-2147483647-1) ! { dg-warning "Integer outside symmetric range" }
+ b = a**(-2147483647_4-1_4) ! { dg-warning "Integer outside symmetric range" }
end program test
Index: gfortran.dg/integer_exponentiation_2.f90
===================================================================
--- gfortran.dg/integer_exponentiation_2.f90 (revision 130258)
+++ gfortran.dg/integer_exponentiation_2.f90 (working copy)
@@ -22,10 +22,11 @@ subroutine run_me(a, i, z)
call check_equal_i (i**2, i*i)
call check_equal_i (i**3, i*(i**2))
- call check_equal_i (int(i**0_8,kind=4), 1)
- call check_equal_i (int(i**1_8,kind=4), i)
- call check_equal_i (int(i**2_8,kind=4), i*i)
- call check_equal_i (int(i**3_8,kind=4), i*i*i)
+ ! i has default integer kind.
+ call check_equal_i (int(i**0_8,kind=kind(i)), 1)
+ call check_equal_i (int(i**1_8,kind=kind(i)), i)
+ call check_equal_i (int(i**2_8,kind=kind(i)), i*i)
+ call check_equal_i (int(i**3_8,kind=kind(i)), i*i*i)
call check_equal_r (a**0.0, 1.0)
call check_equal_r (a**1.0, a)
Index: gfortran.dg/integer_exponentiation_3.F90
===================================================================
--- gfortran.dg/integer_exponentiation_3.F90 (revision 130258)
+++ gfortran.dg/integer_exponentiation_3.F90 (working copy)
@@ -82,9 +82,9 @@ program test
TEST(1_8,0_8,i8)
TEST(-1,0,i4)
TEST(-1_8,0_8,i8)
- TEST(huge(0),0,i4)
+ TEST(huge(0_4),0,i4)
TEST(huge(0_8),0_8,i8)
- TEST(-huge(0)-1,0,i4)
+ TEST(-huge(0_4)-1,0,i4)
TEST(-huge(0_8)-1_8,0_8,i8)
TEST(1,1,i4)
@@ -164,7 +164,7 @@ program test
TEST(2.0,-3_8,r4)
TEST(nearest(1.0,-1.0),0,r4)
- TEST(nearest(1.0,-1.0),huge(0),r4) ! { dg-warning "Arithmetic underflow" }
+ TEST(nearest(1.0,-1.0),huge(0_4),r4) ! { dg-warning "Arithmetic underflow" }
TEST(nearest(1.0,-1.0),0_8,r4)
TEST(nearest(1.0_8,-1.0),huge(0_8),r8) ! { dg-warning "Arithmetic underflow" }
Index: gfortran.dg/integer_exponentiation_5.F90
===================================================================
--- gfortran.dg/integer_exponentiation_5.F90 (revision 130258)
+++ gfortran.dg/integer_exponentiation_5.F90 (working copy)
@@ -65,7 +65,7 @@ program test
TEST(3_8,43_8,i8)
TEST(-3_8,43_8,i8)
- TEST(17_8,int(huge(0),kind=8)+1,i8)
+ TEST(17_8,int(huge(0_4),kind=8)+1,i8)
!!!!! REAL BASE !!!!!
TEST(0.0,-1,r4)
Index: gfortran.dg/modulo_1.f90
===================================================================
--- gfortran.dg/modulo_1.f90 (revision 130258)
+++ gfortran.dg/modulo_1.f90 (working copy)
@@ -1,6 +1,6 @@
! { dg-do compile }
! PR fortran/23912
- integer i4
+ integer(kind=4) i4
integer(kind=8) i8
i4 = modulo(i4,i8) ! { dg-warning "Extension" }