Go to file
Ian Lance Taylor eeef0e452e common.opt: Add fstrict-overflow.
./:	* common.opt: Add fstrict-overflow.
	* opts.c (decode_options): Set flag_strict_overflow if -O2.
	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
	(TYPE_OVERFLOW_UNDEFINED): Define.
	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
	Replace all uses.
	* tree.h (TYPE_TRAP_SIGNED): Don't define.
	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
	(fold_negate_expr): Likewise.
	(make_range): Likewise.
	(extract_muldiv_1): Likewise.
	(maybe_canonicalize_comparison): Likewise.
	(fold_comparison): Likewise.
	(fold_binary): Likewise.
	(tree_expr_nonnegative_p): Likewise.
	(tree_expr_nonzero_p): Likewise.
	* tree-vrp.c (compare_values): Likewise.
	(extract_range_from_binary_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.
	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness):
	Likewise.
	(nowrap_type_p): Likewise.
	* tree-scalar-evolution.c (simple_iv): Likewise.
	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
	(build_range_check): Likewise.
	(extract_muldiv_1): Likewise.
	(fold_comparison): Likewise.
	* tree-vrp.c (vrp_int_const_binop): Likewise.
	(extract_range_from_unary_expr): Likewise.
	* convert.c (convert_to_integer): Likewise.
	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
	(fold_comparison): Likewise.
	(fold_binary): Likewise.
	* optabs.c (optab_for_tree_code): Likewise.
	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
	* simplify-rtx.c (simplify_const_relational_operation): Check
	flag_strict_overflow and flag_trapv.
	(simplify_const_relational_operation): Likewise.
	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
	-fstrict-overflow.
testsuite/:
	* gcc.dg/strict-overflow-1.c: New test.
	* gcc.dg/no-strict-overflow-1.c: New test.
	* gcc.dg/strict-overflow-2.c: New test.
	* gcc.dg/no-strict-overflow-2.c: New test.
	* gcc.dg/strict-overflow-3.c: New test.
	* gcc.dg/no-strict-overflow-3.c: New test.
	* gcc.dg/strict-overflow-4.c: New test.
	* gcc.dg/no-strict-overflow-4.c: New test.
	* gcc.dg/fold-mod-1.c: Add -fstrict-overflow option.
	* gcc.dg/pr15784-1.c: Likewise.
	* gcc.dg/pr20922-1.c: Likewise.
	* gcc.dg/pr20922-3.c: Likewise.
	* gcc.dg/pr20922-4.c: Likewise.
	* gcc.dg/pr20922-6.c: Likewise.
	* gcc.dg/compare-4.c: Likewise.
	* gcc.dg/torture/pr26898-1.c: Likewise.
	* gcc.dg/tree-ssa/divide-1.c: Likewise.
	* gcc.dg/tree-ssa/divide-2.c: Likewise.
	* gcc.dg/tree-ssa/divide-3.c: Likewise.
	* gcc.dg/tree-ssa/divide-4.c: Likewise.
	* gcc.dg/tree-ssa/pr14490-1.c: Likewise.
	* gcc.dg/tree-ssa/pr14490-3.c: Likewise.
	* gcc.dg/tree-ssa/pr21082.c: Likewise.
	* gcc.dg/tree-ssa/pr26899.c: Likewise.
	* g++.dg/tree-ssa/pr21082.C: Likewise.

From-SVN: r121254
2007-01-28 05:15:06 +00:00
boehm-gc 2007-01-24 Andreas Tobler <a.tobler@schweiz.org> 2007-01-24 20:36:42 +01:00
config depstand.m4 (ZW_CREATE_DEPDIR): Use mkinstalldirs to make directory. 2007-01-27 19:50:38 +00:00
contrib sourcebuild.texi (libgcj Tests): Don't mention jacks. 2007-01-15 21:49:31 +00:00
fixincludes re PR target/30272 (Build failure under SGI Irix (GFortran)) 2007-01-25 14:25:01 -05:00
gcc common.opt: Add fstrict-overflow. 2007-01-28 05:15:06 +00:00
gnattools re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
include * ansidecl.h (ATTRIBUTE_PACKED): Define. 2006-12-06 18:08:51 +00:00
INSTALL
intl
libada re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
libcpp depstand.m4 (ZW_CREATE_DEPDIR): Use mkinstalldirs to make directory. 2007-01-27 19:50:38 +00:00
libdecnumber decRound.c: Move declarations to new file, update comments. 2006-11-29 18:34:56 +00:00
libffi Makefile.am (all-recursive, [...]): Add missing targets. 2007-01-18 07:17:57 +00:00
libgcc configure.ac: Add --enable-version-specific-runtime-libs. 2007-01-25 16:00:32 +00:00
libgfortran * runtime/error.c: Include sys/time.h before sys/resource.h. 2007-01-21 21:04:53 +00:00
libgomp lang-specs.h: Add support for .f03 and .F03 extensions. 2007-01-26 09:35:19 +01:00
libiberty * pex-unix.c (writeerr): Cast write result to void. 2007-01-12 13:21:26 +11:00
libjava re PR libgcj/30513 (Bootstrap failure with libgcj on sparc-sun-solaris2.10) 2007-01-27 22:46:15 +01:00
libmudflap tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work. 2006-12-04 11:10:38 +00:00
libobjc In gcc/: PR 23067 2006-11-01 05:28:41 +00:00
libssp
libstdc++-v3 re PR libstdc++/30586 (Namespace pollution in c++ headers) 2007-01-26 18:00:42 +00:00
maintainer-scripts update_web_docs_svn: Build also libgomp documentation. 2007-01-21 00:54:15 +01:00
zlib aclocal.m4: Regenerate to use multi.m4. 2007-01-17 19:48:52 +00:00
ABOUT-NLS
ChangeLog re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
config.rpath all files: Update FSF address. 2005-07-16 02:30:53 +00:00
config.sub config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
configure re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
configure.in * configure.in: Re-enable -Werror for gcc builds. 2007-01-19 02:08:33 +00:00
COPYING
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. 2005-07-14 01:41:54 +00:00
depcomp top level: 2005-06-13 08:26:05 +00:00
install-sh
libtool-ldflags
libtool.m4
ltcf-c.sh
ltcf-cxx.sh all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltcf-gcj.sh
ltconfig
ltmain.sh
MAINTAINERS Add myself as libgomp maintainer. 2007-01-24 23:23:58 +01:00
Makefile.def re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
Makefile.in re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
Makefile.tpl re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
missing
mkdep
mkinstalldirs COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
move-if-change Import from Autoconf sources: 2005-11-21 13:21:37 +11:00
README
README.SCO
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.