Go to file
Roger Sayle 07bae5ad21 fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding fabs(-x) into fabs(x).
* fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
	fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
	when the ABS_EXPR (fabs or abs) is not required.
  	(tree_expr_nonnegative_p): Move the logic that sqrt and exp are
	always nonnegative from fold to here.  Additionally, cabs and fabs
	are always non-negative, and pow and atan are non-negative if
	their first argument is non-negative.

	* builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
	Evaluate cabs of a constant at compile-time.  Convert cabs of a
	non-complex argument into fabs.  Convert cabs(z) into
	sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
	-funsafe-math-optimizations or -ffast-math.
	(fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
	Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.

	* gcc.dg/builtins-2.c: Add some more tests.
	* gcc.dg/builtins-18.c: New test case.
	* gcc.dg/builtins-19.c: New test case.

From-SVN: r67541
2003-06-06 12:36:26 +00:00
boehm-gc configure.in: define GC_DLL under mingw if --enable-shared 2003-04-28 20:54:37 +00:00
config * acinclude.m4: Accept i[3456789]86 for machine type. 2003-05-19 14:09:59 -04:00
contrib analyze_brprob, [...]: Change GNU CC to GCC. 2003-05-23 16:20:44 +00:00
fastjar fastjar.texi: Remove @ at start of file. 2003-03-30 17:56:33 +01:00
gcc fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding fabs(-x) into fabs(x). 2003-06-06 12:36:26 +00:00
include hex.c (_hex_value): Make this unsigned. 2003-05-15 19:02:13 +00:00
INSTALL
libf2c install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
libffi configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be read-only. 2003-05-17 00:09:22 +02:00
libiberty re PR other/10810 (gcc-3.3 fails make check: buffer overrun in test_demangle.c) 2003-06-05 16:38:22 +00:00
libjava re PR libgcj/6181 (Mauve Introspector.jdk11: getBeanInfo fail for AWT classes) 2003-06-06 10:03:30 +00:00
libobjc hash.c, [...]: Replace "GNU CC" with "GCC". 2003-05-23 20:25:39 +00:00
libstdc++-v3 re PR libstdc++/9024 (Input fails after call to basic_filebuf<>::pubsetbuf(0, 0)) 2003-06-06 00:19:17 +00:00
maintainer-scripts snapshot-index.html: Refer to .bz2 files instead of .gz files. 2003-05-28 15:14:37 +00:00
zlib libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 04:20:21 +00:00
.cvsignore
ChangeLog install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
config-ml.in config-ml.in: Propagate INSTALL variables. 2003-05-06 20:58:44 +00:00
config.guess config.guess: Update to 2003-05-09 version. 2003-05-13 14:08:22 +02:00
config.if
config.sub config.guess: Update to 2003-05-09 version. 2003-05-13 14:08:22 +02:00
configure Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
configure.in Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
COPYING
COPYING.LIB
install-sh
libtool.m4 libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 04:20:21 +00:00
ltcf-c.sh
ltcf-cxx.sh libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 01:11:51 +00:00
ltcf-gcj.sh ltcf-cxx.sh: Replace $linker_flags with $compiler_flags wherever it is used as argument to $CC. 2003-02-19 23:50:23 +00:00
ltconfig libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 02:09:45 +00:00
ltmain.sh
MAINTAINERS Add Dara Hazeghi and Andrew Pinski to Bugzilla-only maintainers. Remove user names from other bug database only maintainers since bugzilla no longer has user names. 2003-06-05 08:44:47 -06:00
Makefile.def Makefile.tpl: Make 'recursive targets' using autogen rather than shell loop. 2003-06-03 20:42:13 +00:00
Makefile.in install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
Makefile.tpl install.tex: Document profiledbootstrap. 2003-06-05 16:36:12 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.