[Bug middle-end/66462] GCC isinf/isnan/... builtins cause sNaN exceptions

wilco at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Sep 14 11:17:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66462

Wilco <wilco at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilco at gcc dot gnu.org

--- Comment #10 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Bill Sacks from comment #9)
> I have found that, with gfortran, the following all lead to a SIGFPE if I
> compile with -ffpe-trap=invalid:
> 
> (1) ieee_value(my_nan, ieee_quiet_nan)
> 
> (2) ieee_value(my_nan, ieee_signaling_nan)
> 
> (3) ieee_is_nan called on a signaling NaN
> 
> (4) gfortran's built-in isnan called on a signaling NaN
> 
> (5) ieee_class called on a signaling NaN
> 
> (See https://github.com/NCAR/billsacks-gfortran-snan/tree/master_n01 for
> test code and more information.)
> 
> Are all of these duplicate problems to the one reported here, or are some of
> these separate issues that should be opened?

If the code does what it appears to do (just creating NaN bitpatterns and
testing them, not arithmetic) then it is likely something else as this
shouldn't cause exceptions. It's worth narrowing down to a tiny example and
find out where the exception happens in the generated assembly. Running on
other targets (which support traps) may be worthwhile to find out whether this
is a general issue or x64 specific.


More information about the Gcc-bugs mailing list