]> git.ipfire.org Git - thirdparty/gcc.git/commit
Makefile.in: rtlanal.o now depends upon real.h.
authorRoger Sayle <roger@eyesopen.com>
Sun, 28 Jul 2002 02:11:05 +0000 (02:11 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 28 Jul 2002 02:11:05 +0000 (02:11 +0000)
commit52bfebf09121f90fb62f448ccb817ce9208d8f24
tree811f8a9808cc8a4ff4fa003afa503d9d758bdcc8
parente66f55b878b78b51895f907fd624b583732d7659
Makefile.in: rtlanal.o now depends upon real.h.

* Makefile.in: rtlanal.o now depends upon real.h.

* flags.h [flag_signaling_nans]: New flag.
[HONOR_SNANS]: New macro.

* toplev.c [flag_signaling_nans]: Initialize to false.
        (f_options): Add processing for "-fsignaling-nans".
(set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
(process_options): flag_signaling_nans implies flag_trapping_math.

* c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
when -fsignaling-nans.  First step to implementing WG14's N965.

* fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
[RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.

* simplify-rtx.c (simplify_relational_operation): Conditionalize
transforming abs(x) < 0.0 into false on !HONOR_SNANS.

* rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
-fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).

* doc/invoke.texi: Document new -fsignaling-nans compiler option.

From-SVN: r55804
gcc/ChangeLog
gcc/Makefile.in
gcc/c-common.c
gcc/doc/invoke.texi
gcc/flags.h
gcc/fold-const.c
gcc/rtlanal.c
gcc/simplify-rtx.c
gcc/toplev.c