aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-08-23 13:37:29 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-08-23 13:37:29 +0200
commitdf375b0321f9a5360fd04435ee5832c253aa4175 (patch)
treee93a027408faacfc6ec67b5f8767cad3774480cf /gcc/opts.c
parent19566bdda5762ddc769fc848dcad5e1e4abf8d0d (diff)
downloadgcc-df375b0321f9a5360fd04435ee5832c253aa4175.zip
gcc-df375b0321f9a5360fd04435ee5832c253aa4175.tar.gz
gcc-df375b0321f9a5360fd04435ee5832c253aa4175.tar.bz2
re PR middle-end/91283 (gcc.dg/torture/c99-contract-1.c FAILs)
PR middle-end/91283 * common.opt (fexcess-precision=): Add Optimization flag. Use flag_excess_precision variable instead of flag_excess_precision_cmdline. * flags.h (class target_flag_state): Remove x_flag_excess_precision member. (flag_excess_precision): Don't define. * langhooks.c (lhd_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. Remove comment. * opts.c (set_fast_math_flags): Use frontend_set_flag_excess_precision and x_flag_excess_precision instead of frontend_set_flag_excess_precision_cmdline and x_flag_excess_precision_cmdline. (fast_math_flags_set_p): Use x_flag_excess_precision instead of x_flag_excess_precision_cmdline. * toplev.c (init_excess_precision): Remove. (lang_dependent_init_target): Don't call it. ada/ * gcc-interface/misc.c (gnat_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. brig/ * brig-lang.c (brig_langhook_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. c-family/ * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision instead of flag_excess_precision_cmdline. * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise. * c-opts.c (c_common_post_options): Likewise. d/ * d-lang.cc (d_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. fortran/ * options.c (gfc_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. Remove comment. go/ * go-lang.c (go_langhook_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. lto/ * lto-lang.c (lto_post_options): Set flag_excess_precision instead of flag_excess_precision_cmdline. Remove comment. From-SVN: r274850
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index bb0d8b5..1417dba 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -2971,9 +2971,8 @@ set_fast_math_flags (struct gcc_options *opts, int set)
opts->x_flag_errno_math = !set;
if (set)
{
- if (opts->frontend_set_flag_excess_precision_cmdline
- == EXCESS_PRECISION_DEFAULT)
- opts->x_flag_excess_precision_cmdline
+ if (opts->frontend_set_flag_excess_precision == EXCESS_PRECISION_DEFAULT)
+ opts->x_flag_excess_precision
= set ? EXCESS_PRECISION_FAST : EXCESS_PRECISION_DEFAULT;
if (!opts->frontend_set_flag_signaling_nans)
opts->x_flag_signaling_nans = 0;
@@ -3008,8 +3007,7 @@ fast_math_flags_set_p (const struct gcc_options *opts)
&& opts->x_flag_finite_math_only
&& !opts->x_flag_signed_zeros
&& !opts->x_flag_errno_math
- && opts->x_flag_excess_precision_cmdline
- == EXCESS_PRECISION_FAST);
+ && opts->x_flag_excess_precision == EXCESS_PRECISION_FAST);
}
/* Return true iff flags are set as if -ffast-math but using the flags stored