diff options
Diffstat (limited to 'lib/libc/softfloat/softfloat-specialize')
| -rw-r--r-- | lib/libc/softfloat/softfloat-specialize | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libc/softfloat/softfloat-specialize b/lib/libc/softfloat/softfloat-specialize index a4fdad072f6..8ff3befd02a 100644 --- a/lib/libc/softfloat/softfloat-specialize +++ b/lib/libc/softfloat/softfloat-specialize @@ -1,3 +1,6 @@ +/* $NetBSD: softfloat-specialize,v 1.3 2002/05/12 13:12:45 bjh21 Exp $ */ + +/* This is a derivative work. */ /* =============================================================================== @@ -29,6 +32,8 @@ this code that are retained. =============================================================================== */ +#include <signal.h> + /* ------------------------------------------------------------------------------- Underflow tininess-detection mode, statically initialized to default value. @@ -48,11 +53,15 @@ substitute a result value. If traps are not implemented, this routine should be simply `float_exception_flags |= flags;'. ------------------------------------------------------------------------------- */ -void float_raise( int8 flags ) +fp_except float_exception_mask = 0; +void float_raise( fp_except flags ) { float_exception_flags |= flags; + if ( flags & float_exception_mask ) { + raise( SIGFPE ); + } } /* |
