https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94324

            Bug ID: 94324
           Summary: [10 regression] gfortran.dg/default_format_1.f90 etc.
                    FAIL on 32-bit Solaris/x86
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
            Target: i386-pc-solaris2.11

I just remembered that between 20191031 (r277679) and 20191101 (r277705) a
couple
of Fortran tests regressed on 32-bit Solaris/x86:

+FAIL: gfortran.dg/default_format_1.f90   -O0  execution test
+FAIL: gfortran.dg/default_format_1.f90   -O1  execution test
+FAIL: gfortran.dg/default_format_1.f90   -O2  execution test
+FAIL: gfortran.dg/default_format_1.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
+FAIL: gfortran.dg/default_format_1.f90   -O3 -g  execution test
+FAIL: gfortran.dg/default_format_1.f90   -Os  execution test

Note: The following floating-point exceptions are signalling:
IEEE_UNDERFLOW_FLAG
STOP 6

#2  0x08051851 in MAIN__ ()
    at
/vol/gcc/src/hg/master/local/gcc/testsuite/gfortran.dg/default_format_1.f90:20
20        if (test (1.0_8, 0) /= 0) STOP 6

+FAIL: gfortran.dg/fmt_g0_1.f08   -O0  execution test
+FAIL: gfortran.dg/fmt_g0_1.f08   -O1  execution test
+FAIL: gfortran.dg/fmt_g0_1.f08   -O2  execution test
+FAIL: gfortran.dg/fmt_g0_1.f08   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
+FAIL: gfortran.dg/fmt_g0_1.f08   -O3 -g  execution test
+FAIL: gfortran.dg/fmt_g0_1.f08   -Os  execution test

STOP 3

#2  0x0805143d in MAIN__ ()
    at /vol/gcc/src/hg/master/local/gcc/testsuite/gfortran.dg/fmt_g0_1.f08:11
11          if (buffer.ne.":0.33333333333333331:") STOP 3
(gdb) p buffer
$1 = ':0.', '3' <repeats 16 times>, '2:', ' ' <repeats 29 times>

+FAIL: gfortran.dg/round_4.f90   -O0  execution test
+FAIL: gfortran.dg/round_4.f90   -O1  execution test
+FAIL: gfortran.dg/round_4.f90   -O2  execution test
+FAIL: gfortran.dg/round_4.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
+FAIL: gfortran.dg/round_4.f90   -O3 -g  execution test
+FAIL: gfortran.dg/round_4.f90   -Os  execution test

STOP 15

#2  0x08051f41 in MAIN__ ()
    at /vol/gcc/src/hg/master/local/gcc/testsuite/gfortran.dg/round_4.f90:100
100       if (rnd10 .and. (r10p /= ref10u .or. r10m /= -ref10u)) STOP 15

(gdb) p rnd10
$1 = .TRUE.
(gdb) p r10p
$2 = 0.100000000000000005551
(gdb) p ref10u
$3 = 0.100000000000000000001
(gdb) p r10m
$4 = -0.100000000000000005551
(gdb) p ref10u
$5 = 0.100000000000000000001

Since I found nothing in the above revision range that might have caused this
and the failures only occur on Solaris 11.5 Beta, but not on Solaris 11.4, I
suspect that the cause of the failure lies somewhere with the OS (libc or
libm).
However, given that I know nothing about fortran, it would be very helpful to
have some guidance on where to look.

Reply via email to