http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43716
--- Comment #38 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-07-21 14:43:10 UTC --- > No, the first NaN was born exactly at this instruction. Please note 0 / 0 > which is the definition of NaN. AFAIU the loop around line 1852, the only possibility for 0/0 is yy==qsec==0, but since 0.1<=y, the line 1852 should not be accessed. If I compile doduc.f90 with '-O3 -ffast-math -ffpe-trap=invalid' I get the "Floating-point exception" with trunk and 4.4. If I compile with -fno-tree-loop-if-convert the exception occurs somewhere else: #3 0x10000306e #4 0x10001d17c #5 0x10001eca8 versus #3 0x10000a863 #4 0x10001d11e #5 0x10001ec98 !-(poor backtrace on darwin).