aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2007-01-19 19:35:22 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2007-01-19 19:35:22 +0000
commitdb02da79174dea480aa4217dbe7afd3d3b8364d1 (patch)
treee158e5c13ab326a2c00f9dd76f5137fb2f592973 /gcc/doc
parentd88c64564e9c9c57bea4c6ce15fd400f589f9de3 (diff)
downloadgcc-db02da79174dea480aa4217dbe7afd3d3b8364d1.zip
gcc-db02da79174dea480aa4217dbe7afd3d3b8364d1.tar.gz
gcc-db02da79174dea480aa4217dbe7afd3d3b8364d1.tar.bz2
common.opt (fsigned-zeros): New command line option.
* common.opt (fsigned-zeros): New command line option. * flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead of flag_unsafe_math_optimizations. * opts.c (set_fast_math_flags): The -ffast-math command line option implies -fno-signed-zeros. (fast_math_flags_set_p): Likewise. * doc/invoke.texi: Document new -fno-signed-zeros option, and update the documentation of -ffast-math appropriately. Wrap long lines. * gcc.dg/pr30172-1.c: Specify the -fno-signed-zeros command line option instead of -funsafe-math-optimizations. From-SVN: r120978
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi23
1 files changed, 17 insertions, 6 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 3447ff8..5337288 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -323,7 +323,8 @@ Objective-C and Objective-C++ Dialects}.
-fno-default-inline -fno-defer-pop -fmove-loop-invariants @gol
-fno-function-cse -fno-guess-branch-probability @gol
-fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol
--funsafe-math-optimizations -funsafe-loop-optimizations -ffinite-math-only @gol
+-funsafe-math-optimizations -funsafe-loop-optimizations @gol
+-ffinite-math-only -fno-signed-zeros @gol
-fno-toplevel-reorder -fno-trapping-math -fno-zero-initialized-in-bss @gol
-fomit-frame-pointer -foptimize-register-move @gol
-foptimize-sibling-calls -fprefetch-loop-arrays @gol
@@ -5631,8 +5632,8 @@ them to store all pertinent intermediate computations into variables.
@opindex ffast-math
Sets @option{-fno-math-errno}, @option{-funsafe-math-optimizations}, @*
@option{-fno-trapping-math}, @option{-ffinite-math-only},
-@option{-fno-rounding-math}, @option{-fno-signaling-nans}
-and @option{fcx-limited-range}.
+@option{-fno-rounding-math}, @option{-fno-signaling-nans},
+@option{-fno-signed-zeros} and @option{fcx-limited-range}.
This option causes the preprocessor macro @code{__FAST_MATH__} to be defined.
@@ -5655,9 +5656,9 @@ math functions.
The default is @option{-fmath-errno}.
-On Darwin systems, the math library never sets @code{errno}. There is therefore
-no reason for the compiler to consider the possibility that it might,
-and @option{-fno-math-errno} is the default.
+On Darwin systems, the math library never sets @code{errno}. There is
+therefore no reason for the compiler to consider the possibility that
+it might, and @option{-fno-math-errno} is the default.
@item -funsafe-math-optimizations
@opindex funsafe-math-optimizations
@@ -5685,6 +5686,16 @@ an exact implementation of IEEE or ISO rules/specifications.
The default is @option{-fno-finite-math-only}.
+@item -fno-signed-zeros
+@opindex fno-signed-zeros
+Allow optimizations for floating point arithmetic that ignore the
+signedness of zero. IEEE arithmetic specifies the behavior of
+distinct +0.0 and -0.0 values, which then prohibits simplification
+of expressions such as x+0.0 or 0.0*x (even with @option{-ffinte-math-only}).
+This option implies that the sign of a zero result isn't significant.
+
+The default is @option{-fsigned-zeros}.
+
@item -fno-trapping-math
@opindex fno-trapping-math
Compile code assuming that floating-point operations cannot generate