summaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-24 09:24:17 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-24 09:24:17 +0000
commit45b9d334696f9936957a7a9cc8dd64882b7ff3f5 (patch)
tree42cf31816d33415d61bb35885b0514d50dcdc5b0 /gcc/c-opts.c
parent80951d2e57660f3260ec1f7028ffd2314233d434 (diff)
downloadgcc-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/c-opts.c')
-rw-r--r--gcc/c-opts.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index 36c3f5bd68e..575ff4d485b 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -978,6 +978,11 @@ c_common_post_options (const char **pfilename)
if (warn_missing_format_attribute && !warn_format)
warning ("-Wmissing-format-attribute ignored without -Wformat");
+ /* C99 requires special handling of complex multiplication and division;
+ -ffast-math and -fcx-limited-range are handled in process_options. */
+ if (flag_isoc99)
+ flag_complex_method = 2;
+
if (flag_preprocess_only)
{
/* Open the output now. We must do so even if flag_no_output is