This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/43716] [4.6/4.7/4.8 Regression] Revision 158105 miscompiles doduc.f90
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 21 Jul 2012 14:43:10 +0000
- Subject: [Bug tree-optimization/43716] [4.6/4.7/4.8 Regression] Revision 158105 miscompiles doduc.f90
- Auto-submitted: auto-generated
- References: <bug-43716-4@http.gcc.gnu.org/bugzilla/>
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).