------- Comment #5 from jpr at csc dot fi 2009-09-03 10:40 ------- Adding -fstrict-aliasing to -O1 breaks the code:
gfortran -o m m.f90 -O1; ./m y= 0.60653065945526063 2*y= 1.2130613189105213 gfortran -o m m.f90 -O1 -fstrict-aliasing ; ./m y= 0.60653065945526063 2*y= 2.0000000000000000 and equally adding -fno-strict-aliasing to -O2 saves the day gfortran -o m m.f90 -O2; ./m y= 0.60653065945526063 2*y= 2.0000000000000000 gfortran -o m m.f90 -O2 -fno-strict-aliasing;./m y= 0.60653065945526063 2*y= 1.2130613189105213 Juha -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41212