+Wed May 12 07:27:31 1999 Craig Burley <craig@jcb-sc.com>
+
+ Allow front end (like g77's) to override maintenance of errno:
+ * expr.c (expand_builtin): Bother with errno only if
+ flag_errno_math.
+ * flags.h: Declare flag_errno_math.
+ * toplev.c: Define flag_errno_math.
+
Tue May 11 23:55:49 1999 Jeffrey A Law (law@cygnus.com)
* fixproto: Change "mkdir" calls to "mkdir -p"
/* Check the results by default. But if flag_fast_math is turned on,
then assume sqrt will always be called with valid arguments. */
- if (! flag_fast_math)
+ if (flag_errno_math && ! flag_fast_math)
{
/* Don't define the builtin FP instructions
if your machine is not IEEE. */
+Wed May 12 07:30:05 1999 Craig Burley <craig@jcb-sc.com>
+
+ * com.c (lang_init_options): Disable back end's maintenance
+ of errno.
+ * news.texi: Document dropping of errno.
+
1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* lang-specs.h: Pass -$ to the preprocessor.
flag_move_all_movables = 1;
flag_reduce_all_givs = 1;
flag_argument_noalias = 2;
+ flag_errno_math = 0;
}
void
@c in the standalone derivations of this file (e.g. NEWS).
@set copyrights-news 1995-1999
-@set last-update-news 1999-05-10
+@set last-update-news 1999-05-12
@include root.texi
and not @code{SAVE}'d.
@end ifclear
+@item
+@code{g77} no longer generates code to maintain @code{errno},
+a C-language concept,
+when performing operations such as the @code{SqRt} intrinsic.
+
@ifclear USERVISONLY
@item
A substantial portion of the @code{g77} front end's code-generation component
extern int flag_fast_math;
+/* Nonzero means the front end generally wants `errno' maintained by math
+ operations, like built-in SQRT, unless overridden by flag_fast_math. */
+
+extern int flag_errno_math;
+
/* Nonzero means to run loop optimizations twice. */
extern int flag_rerun_loop_opt;
int flag_fast_math = 0;
+/* Nonzero means the front end generally wants `errno' maintained by math
+ operations, like built-in SQRT, unless overridden by flag_fast_math. */
+
+int flag_errno_math = 1;
+
/* Nonzero means all references through pointers are volatile. */
int flag_volatile;