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