aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2002-05-16 19:09:40 +0000
committerNeil Booth <neil@gcc.gnu.org>2002-05-16 19:09:40 +0000
commit748d29c1fc6cb2209a1da6e0536168d2b6e78af7 (patch)
treeef69824f78f40bb0b12f54abb92bfa60441f8a3b /gcc/toplev.c
parent5279d7394efe3e6d39e9c5f0bbb066e63f4cf398 (diff)
downloadgcc-748d29c1fc6cb2209a1da6e0536168d2b6e78af7.zip
gcc-748d29c1fc6cb2209a1da6e0536168d2b6e78af7.tar.gz
gcc-748d29c1fc6cb2209a1da6e0536168d2b6e78af7.tar.bz2
c-common.c (cb_register_builtins): Handle more built-ins here rather than in gcc.c specs.
* c-common.c (cb_register_builtins): Handle more built-ins here rather than in gcc.c specs. * gcc.c (cpp_unique_options): Move many built-ins to c-common.c. (cpp_options): Pass -O flags even when only preprocessing. * toplev.c (set_fast_math_flags): New prototype. (fast_math_flags_set_p): New. (set_no_fast_math_flags): Remove. (decode_f_option): Update. * toplev.h (set_fast_math_flags): Update. (fast_math_flags_set_p): New. (set_no_fast_math_flags): Remove. config: * c4x/c4x.c (c4x_override_options): Update. From-SVN: r53526
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 5f5eb46..9fb8813 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1540,19 +1540,20 @@ set_Wunused (setting)
-ffast-math and -fno-fast-math imply. */
void
-set_fast_math_flags ()
+set_fast_math_flags (int set)
{
- flag_trapping_math = 0;
- flag_unsafe_math_optimizations = 1;
- flag_errno_math = 0;
+ flag_trapping_math = !set;
+ flag_unsafe_math_optimizations = set;
+ flag_errno_math = !set;
}
-void
-set_no_fast_math_flags ()
+/* Return true iff flags are set as if -ffast-math. */
+bool
+fast_math_flags_set_p ()
{
- flag_trapping_math = 1;
- flag_unsafe_math_optimizations = 0;
- flag_errno_math = 1;
+ return (!flag_trapping_math
+ && flag_unsafe_math_optimizations
+ && !flag_errno_math);
}
@@ -3819,9 +3820,9 @@ decode_f_option (arg)
}
if (!strcmp (arg, "fast-math"))
- set_fast_math_flags ();
+ set_fast_math_flags (1);
else if (!strcmp (arg, "no-fast-math"))
- set_no_fast_math_flags ();
+ set_fast_math_flags (0);
else if ((option_value = skip_leading_substring (arg, "inline-limit-"))
|| (option_value = skip_leading_substring (arg, "inline-limit=")))
{