------- Comment #3 from dir at lanl dot gov 2007-06-18 15:05 ------- The only subroutine actually used is prmx. The rest are dummies to make the linker happy. With g95, you get the correct results with -g and incorrect results with -O3 -
[QuadG5:~/junk] dir% g95 -O3 -d8 -fstatic -Wno=121,155,154 -o g95Test01 g95Test01.f [QuadG5:~/junk] dir% g95Test01 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.8000E+01 row 2 0.9000E+01 0.1000E+02 row 3 0.1100E+02 0.1200E+02 0.1300E+02 [QuadG5:~/junk] dir% g95 -g -d8 -fstatic -Wno=121,155,154 -o g95Test01 g95Test01.f [QuadG5:~/junk] dir% g95Test01 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 [QuadG5:~/junk] dir% g95 --v Using built-in specs. Target: Configured with: ../configure --enable-languages=c Thread model: posix gcc version 4.0.3 (g95 0.91!) Jun 4 2007 [QuadG5:~/junk] dir% -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32393