Compiling equiv_7_db.f90 with -fdefault-integer-8 gives: /opt/gcc/gcc-4.3-work/gcc/testsuite/gfortran.dg/equiv_7.f90:89.38:
data large(1),large(2) /2146435071,-1/ 1 Error: Overlapping unequal initializers in EQUIVALENCE at (1) /opt/gcc/gcc-4.3-work/gcc/testsuite/gfortran.dg/equiv_7.f90:79.30: data large(1),large(2) /-1,2146435071/ 1 Error: Overlapping unequal initializers in EQUIVALENCE at (1) The following patch fix the problem: [karma] f90/bug% diff -u /opt/gcc/gcc-4.3-work/gcc/testsuite/gfortran.dg/equiv_7.f90 equiv_7_db.f90 --- /opt/gcc/gcc-4.3-work/gcc/testsuite/gfortran.dg/equiv_7.f90 2007-07-30 10:50:18.000000000 +0200 +++ equiv_7_db.f90 2007-08-01 16:15:12.000000000 +0200 @@ -72,21 +72,23 @@ function d1mach_little(i) result(d1mach) implicit none double precision d1mach,dmach(5) - integer i,large(4),small(4) + integer(4) large(4),small(4) + integer i equivalence ( dmach(1), small(1) ) equivalence ( dmach(2), large(1) ) - data small(1),small(2) / 0, 1048576/ - data large(1),large(2) /-1,2146435071/ + data small(1),small(2) / 0_4, 1048576_4/ + data large(1),large(2) /-1_4,2146435071_4/ d1mach = dmach(i) end function d1mach_little function d1mach_big(i) result(d1mach) implicit none double precision d1mach,dmach(5) - integer i,large(4),small(4) + integer(4) large(4),small(4) + integer i equivalence ( dmach(1), small(1) ) equivalence ( dmach(2), large(1) ) - data small(1),small(2) /1048576, 0/ - data large(1),large(2) /2146435071,-1/ + data small(1),small(2) /1048576_4, 0_4/ + data large(1),large(2) /2146435071_4,-1_4/ d1mach = dmach(i) end function d1mach_big subroutine derived_types -- Summary: Compiling equiv_7_db.f90 gives an error with -fdefault- integer-8 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dominiq at lps dot ens dot fr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32956