From 9605da8a3fda7f5f52221143d6af94e9ed13a306 Mon Sep 17 00:00:00 2001 From: Brad Lucier Date: Thu, 16 Sep 1999 01:17:50 +0000 Subject: [PATCH] toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math * invoke.texi: Document this change. From-SVN: r29449 --- gcc/ChangeLog | 5 +++++ gcc/invoke.texi | 11 ++++++++++- gcc/toplev.c | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63a9a6f120a..ca9080695cb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-09-15 Brad Lucier + + * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math + * invoke.texi: Document this change. + Wed Sep 15 17:56:00 1999 Richard Henderson * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT. diff --git a/gcc/invoke.texi b/gcc/invoke.texi index fa5370ed14d..43bd7498df3 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -154,7 +154,7 @@ in the following sections. -falign-jumps=@var{n} -fbranch-probabilities -fcaller-saves -fcse-follow-jumps -fcse-skip-blocks -fdelayed-branch -fexpensive-optimizations --ffast-math -ffloat-store -fforce-addr -fforce-mem +-ffast-math -ffloat-store -fforce-addr -fforce-mem -fno-math-errno -fdata-sections -ffunction-sections -fgcse -finline-functions -finline-limit=@var{n} -fkeep-inline-functions -fmove-all-movables -fno-default-inline -fno-defer-pop @@ -2409,6 +2409,15 @@ This option should never be turned on by any @samp{-O} option since it can result in incorrect output for programs which depend on an exact implementation of IEEE or ANSI rules/specifications for math functions. + +@item -fno-math-errno +Do not set ERRNO after calling math functions that are executed +with a single instruction, e.g., sqrt. A program that relies on +IEEE exceptions for math error handling may want to use this flag +for speed while maintaining IEEE arithmetic compatibility. + +The default is @samp{-fmath-errno}. The @samp{-ffast-math} option +sets @samp{-fno-math-errno}. @end table @c following causes underfulls.. they don't look great, but we deal. diff --git a/gcc/toplev.c b/gcc/toplev.c index aa3d62ed1d8..9fe0e9eae79 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -969,7 +969,9 @@ lang_independent_options f_options[] = {"ident", &flag_no_ident, 0, "Process #ident directives"}, { "peephole2", &flag_peephole2, 1, - "Enables an rtl peephole pass run before sched2" } + "Enables an rtl peephole pass run before sched2" }, + {"math-errno", &flag_errno_math, 1, + "Set errno after built-in math functions"} }; #define NUM_ELEM(a) (sizeof (a) / sizeof ((a)[0]))