diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-24 09:24:17 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-24 09:24:17 +0000 |
commit | 45b9d334696f9936957a7a9cc8dd64882b7ff3f5 (patch) | |
tree | 42cf31816d33415d61bb35885b0514d50dcdc5b0 /gcc/toplev.c | |
parent | 80951d2e57660f3260ec1f7028ffd2314233d434 (diff) | |
download | gcc-45b9d334696f9936957a7a9cc8dd64882b7ff3f5.tar.gz |
PR middle-end/18902
* c-opts.c (c_common_post_options): Set flag_complex_method to 2
for c99.
* common.opt (fcx-limited-range): New.
* opts.c (set_fast_math_flags): Set flag_cx_limited_range.
* toplev.c (flag_complex_method): Initialize to 1.
(process_options): Set flag_complex_method to 0 if
flag_cx_limited_range.
* doc/invoke.texi (-fcx-limited-range): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95493 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index ae564f05f10..e7947eba2eb 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -269,7 +269,7 @@ int flag_pcc_struct_return = DEFAULT_PCC_STRUCT_RETURN; 1 means wide ranges of inputs must work for complex divide. 2 means C99-like requirements for complex multiply and divide. */ -int flag_complex_method = 0; +int flag_complex_method = 1; /* Nonzero means that we don't want inlining by virtue of -fno-inline, not just because the tree inliner turned us off. */ @@ -1948,6 +1948,10 @@ process_options (void) /* The presence of IEEE signaling NaNs, implies all math can trap. */ if (flag_signaling_nans) flag_trapping_math = 1; + + /* With -fcx-limited-range, we do cheap and quick complex arithmetic. */ + if (flag_cx_limited_range) + flag_complex_method = 0; } /* Initialize the compiler back end. */ |