This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/32393] gfortran - incorrect run time results
- From: "dominiq at lps dot ens dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jun 2007 18:44:28 -0000
- Subject: [Bug fortran/32393] gfortran - incorrect run time results
- References: <bug-32393-10129@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from dominiq at lps dot ens dot fr 2007-06-18 18:44 -------
> I do ...
I am not in the position to argue about what f90 compilers are supposed to do
with the original code. I just attach a modified one I hope is valid: g95 does
not complain and gives:
karma] f90/bug% bg95 pr32393_db.f
[karma] f90/bug% a.out
1
lower triangular matrix with 3 rows
row 1 0.8000E+01
row 2 0.9000E+01 0.1000E+02
row 3 0.1100E+02 0.1200E+02 0.1300E+02
iprec = 1
1
lower triangular matrix with 3 rows
row 1 0.1600E+02
row 2 0.9000E+01 0.2000E+02
row 3 0.1100E+02 0.1200E+02 0.2600E+02
[karma] f90/bug% bg95 -O3 pr32393_db.f
[karma] f90/bug% a.out
1
lower triangular matrix with 3 rows
row 1 0.8000E+01
row 2 0.9000E+01 0.1000E+02
row 3 0.1100E+02 0.1200E+02 0.1300E+02
iprec = 1
1
lower triangular matrix with 3 rows
row 1 0.1600E+02
row 2 0.9000E+01 0.2000E+02
row 3 0.1100E+02 0.1200E+02 0.2600E+02
as does xlf. On the other hand gfortran gives:
[karma] f90/bug% gfc pr32393_db.f
[karma] f90/bug% a.out
1
lower triangular matrix with 3 rows
row 1 0.8000E+01
row 2 0.9000E+01 0.1000E+02
row 3 0.1100E+02 0.1200E+02 0.1300E+02
iprec = 1
1
lower triangular matrix with 3 rows
row 1 0.1600E+02
row 2 0.9000E+01 0.2000E+02
row 3 0.1100E+02 0.1200E+02 0.2600E+02
[karma] f90/bug% gfc -O3 pr32393_db.f
[karma] f90/bug% a.out
1
lower triangular matrix with 3 rows
row 1 0.0000E+00
row 2 0.1000E+01 0.2000E+01
row 3 0.3000E+01 0.4000E+01 0.5000E+01
iprec = 1
1
lower triangular matrix with 3 rows
row 1 0.0000E+00
row 2 0.1000E+01 0.4000E+01
row 3 0.3000E+01 0.4000E+01 0.1000E+02
So if the attached code is deemed valid there is indeed a bug in gfortran.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32393