------- 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

Reply via email to