This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug testsuite/32956] New: Compiling equiv_7_db.f90 gives an error with -fdefault-integer-8


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]