gcc/gcc ChangeLog Makefile.in flags.h toplev.c ...

sayle@gcc.gnu.org sayle@gcc.gnu.org
Sat Jul 27 19:11:00 GMT 2002


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	sayle@gcc.gnu.org	2002-07-27 19:11:06

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

Log message:
	* 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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.14982&r2=1.14983
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&r1=1.914&r2=1.915
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flags.h.diff?cvsroot=gcc&r1=1.86&r2=1.87
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&r1=1.662&r2=1.663
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&r1=1.350&r2=1.351
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&r1=1.215&r2=1.216
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/simplify-rtx.c.diff?cvsroot=gcc&r1=1.115&r2=1.116
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtlanal.c.diff?cvsroot=gcc&r1=1.137&r2=1.138
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&r1=1.162&r2=1.163



More information about the Gcc-cvs mailing list