]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
g77.texi (Floating-point Exception Handling): Use feenableexcept in example.
authorAndreas Jaeger <aj@suse.de>
Tue, 21 Nov 2000 11:12:22 +0000 (12:12 +0100)
committerAndreas Jaeger <aj@gcc.gnu.org>
Tue, 21 Nov 2000 11:12:22 +0000 (12:12 +0100)
* g77.texi (Floating-point Exception Handling): Use feenableexcept
in example.
(Floating-point precision): Change to match above change.

From-SVN: r37613

gcc/f/ChangeLog
gcc/f/g77.texi

index 9cc87fbfe661acf4210273b8535e0f75a3d55137..61a1f5223086dc81f8557655ac71a6275de0587a 100644 (file)
@@ -1,3 +1,9 @@
+2000-11-21  Andreas Jaeger  <aj@suse.de>
+
+       * g77.texi (Floating-point Exception Handling): Use feenableexcept
+       in example.
+       (Floating-point precision): Change to match above change.
+
 Sun Nov 19 17:29:22 2000  Matthias Klose  <doko@marvin.itso-berlin.de>
 
         * g77.texi (Floating-point precision): Adjust example
index 72a793c76c23a6de3b386d6091f7749779abbcfd..842f4e4cb06c80810b0bbb6f8e737c495233626b 100644 (file)
@@ -10475,9 +10475,10 @@ mode and not take the performance hit of @samp{-ffloat-store}.  On x86
 and m68k GNU systems you can do this with a technique similar to that
 for turning on floating-point exceptions
 (@pxref{Floating-point Exception Handling}).
-The control word could be set to double precision by
-replacing the @code{__setfpucw} call or the @code{_FPU_SETCW} macro with one like this:
+The control word could be set to double precision by some code like this
+one:
 @smallexample
+#include <fpu_control.h>
 @{
   fpu_control_t cw = (_FPU_DEFAULT & ~_FPU_EXTENDED) | _FPU_DOUBLE;
   _FPU_SETCW(cw);
@@ -12150,17 +12151,17 @@ Most systems provide some C-callable mechanism to change this; this can
 be invoked at startup using @code{gcc}'s @code{constructor} attribute.
 For example, just compiling and linking the following C code with your
 program will turn on exception trapping for the ``common'' exceptions
-on an x86-based GNU system:
+on a GNU system using glibc 2.2 or newer:
 
 @smallexample
-#include <fpu_control.h>
+#define _GNU_SOURCE 1
+#include <fenv.h>
 static void __attribute__ ((constructor))
 trapfpe ()
 @{
-  fpu_control_t cw =
-    _FPU_DEFAULT &
-    ~(_FPU_MASK_IM | _FPU_MASK_ZM | _FPU_MASK_OM);
-  _FPU_SETCW(cw);
+  /* Enable some exceptions.  At startup all exceptions are masked.  */
+  
+  feenableexcept (FE_INVALID|FE_DIVBYZERO|FE_OVERFLOW);
 @}
 @end smallexample