diff options
author | Craig Burley <craig@jcb-sc.com> | 1999-05-12 04:38:14 +0000 |
---|---|---|
committer | Craig Burley <burley@gcc.gnu.org> | 1999-05-12 00:38:14 -0400 |
commit | 41af162ca78944f562a35c32287de901abd9c84f (patch) | |
tree | f7c4558b2172417e3b2b03bb7c224145bce433f2 | |
parent | 7d9a55eb5b7415e6ccdfa4cfb87c1dfdacff2379 (diff) | |
download | gcc-41af162ca78944f562a35c32287de901abd9c84f.zip gcc-41af162ca78944f562a35c32287de901abd9c84f.tar.gz gcc-41af162ca78944f562a35c32287de901abd9c84f.tar.bz2 |
disable maintenance of errno
From-SVN: r26897
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/expr.c | 2 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/f/com.c | 1 | ||||
-rw-r--r-- | gcc/f/news.texi | 7 | ||||
-rw-r--r-- | gcc/flags.h | 5 | ||||
-rw-r--r-- | gcc/toplev.c | 5 |
7 files changed, 32 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74ea41b..89a5ef3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +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" @@ -8757,7 +8757,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) /* 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. */ diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 83c9b41..265a565 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,9 @@ +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. diff --git a/gcc/f/com.c b/gcc/f/com.c index 0329c87..5af3522 100644 --- a/gcc/f/com.c +++ b/gcc/f/com.c @@ -14958,6 +14958,7 @@ lang_init_options () flag_move_all_movables = 1; flag_reduce_all_givs = 1; flag_argument_noalias = 2; + flag_errno_math = 0; } void diff --git a/gcc/f/news.texi b/gcc/f/news.texi index 7620c78..9b29318 100644 --- a/gcc/f/news.texi +++ b/gcc/f/news.texi @@ -9,7 +9,7 @@ @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 @@ -273,6 +273,11 @@ that are not in @code{EQUIVALENCE} areas 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 diff --git a/gcc/flags.h b/gcc/flags.h index 2c0ed40..df73698 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -291,6 +291,11 @@ extern int flag_volatile_static; 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; diff --git a/gcc/toplev.c b/gcc/toplev.c index 6920b26..7a1277c 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -558,6 +558,11 @@ int flag_no_peephole = 0; 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; |