]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
disable maintenance of errno
authorCraig Burley <craig@jcb-sc.com>
Wed, 12 May 1999 04:38:14 +0000 (04:38 +0000)
committerCraig Burley <burley@gcc.gnu.org>
Wed, 12 May 1999 04:38:14 +0000 (00:38 -0400)
From-SVN: r26897

gcc/ChangeLog
gcc/expr.c
gcc/f/ChangeLog
gcc/f/com.c
gcc/f/news.texi
gcc/flags.h
gcc/toplev.c

index 74ea41b0f5b62624f9c63168726c274e4737da82..89a5ef30c4d33a161de628dee1a1546118e85b1f 100644 (file)
@@ -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"
index 828462fe3accfec1f24de950d97ae6389ebbb5b5..17fa1be1fdc4dc2750c2ce74ad828780a578632c 100644 (file)
@@ -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.  */
index 83c9b41b9f1137b0dd67ef56c5fd371cd29180ff..265a565ddc4195ff84497a79c50f710678ce93b4 100644 (file)
@@ -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.
index 0329c87d3ba7805dbf662c3e00deb98a2a6db190..5af35225d2dc91145cb7a8ab2e73a168fbdc2324 100644 (file)
@@ -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
index 7620c789cdbd294f18c4ea683d7b1776f6c35baf..9b293181db5f0d81da93b6a8466827422b64cb98 100644 (file)
@@ -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
index 2c0ed409ec2c8ffa05eb44f3a69cf2f53b65a4d8..df736988ccef765de8c0f84c8446eb8b6bdadeb3 100644 (file)
@@ -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;
index 6920b26dad1b3e76f2adc83a1ef0adb0bd68a04f..7a1277cedce4e3e8e076dcfe4a36eb60ffea3a96 100644 (file)
@@ -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;