diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/dfp-bit.c | 15 | ||||
-rw-r--r-- | gcc/config/dfp-bit.h | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/dfp/snan.c | 28 | ||||
-rw-r--r-- | libdecnumber/ChangeLog | 3 | ||||
-rw-r--r-- | libdecnumber/decLibrary.c | 17 |
7 files changed, 13 insertions, 66 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e55777a6af0..74c98548750 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2006-11-21 Janis Johnson <janis187@us.ibm.com> + * config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete. + * config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op, + DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE. + * config/dfp-bit.c (dfp_binary_func): Fix typedef. 2006-11-21 Douglas Gregor <doug.gregor@gmail.com> diff --git a/gcc/config/dfp-bit.c b/gcc/config/dfp-bit.c index 9cdf64596fa..fafe7dc1a2d 100644 --- a/gcc/config/dfp-bit.c +++ b/gcc/config/dfp-bit.c @@ -88,9 +88,6 @@ dfp_unary_op (dfp_unary_func op, DFP_C_TYPE arg) /* Perform the operation. */ op (&res, &arg1, &context); - if (CONTEXT_TRAPS && CONTEXT_ERRORS (context)) - DFP_RAISE (0); - TO_ENCODED (&encoded_result, &res, &context); IEEE_TO_HOST (encoded_result, &result); return result; @@ -118,9 +115,6 @@ dfp_binary_op (dfp_binary_func op, DFP_C_TYPE arg_a, DFP_C_TYPE arg_b) /* Perform the operation. */ op (&res, &arg1, &arg2, &context); - if (CONTEXT_TRAPS && CONTEXT_ERRORS (context)) - DFP_RAISE (0); - TO_ENCODED (&encoded_result, &res, &context); IEEE_TO_HOST (encoded_result, &result); return result; @@ -148,9 +142,6 @@ dfp_compare_op (dfp_binary_func op, DFP_C_TYPE arg_a, DFP_C_TYPE arg_b) /* Perform the comparison. */ op (&res, &arg1, &arg2, &context); - if (CONTEXT_TRAPS && CONTEXT_ERRORS (context)) - DFP_RAISE (0); - if (decNumberIsNegative (&res)) result = -1; else if (decNumberIsZero (&res)) @@ -379,8 +370,6 @@ DFP_TO_DFP (DFP_C_TYPE f_from) HOST_TO_IEEE (f_from, &s_from); TO_INTERNAL (&s_from, &d); TO_ENCODED_TO (&s_to, &d, &context); - if (CONTEXT_TRAPS && (context.status & DEC_Inexact) != 0) - DFP_RAISE (DEC_Inexact); IEEE_TO_HOST_TO (s_to, &f_to); return f_to; @@ -469,8 +458,6 @@ INT_TO_DFP (INT_TYPE i) /* Convert from the floating point string to a decimal* type. */ FROM_STRING (&s, buf, &context); IEEE_TO_HOST (s, &f); - if (CONTEXT_TRAPS && (context.status & DEC_Inexact) != 0) - DFP_RAISE (DEC_Inexact); return f; } #endif @@ -519,8 +506,6 @@ BFP_TO_DFP (BFP_TYPE x) /* Convert from the floating point string to a decimal* type. */ FROM_STRING (&s, buf, &context); IEEE_TO_HOST (s, &f); - if (CONTEXT_TRAPS && (context.status & DEC_Inexact) != 0) - DFP_RAISE (DEC_Inexact); return f; } #endif diff --git a/gcc/config/dfp-bit.h b/gcc/config/dfp-bit.h index a6c7798982b..dfad7d308b1 100644 --- a/gcc/config/dfp-bit.h +++ b/gcc/config/dfp-bit.h @@ -118,12 +118,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA extern enum rounding __decGetRound (void); #define CONTEXT_ROUND __decGetRound () -extern int __dfp_traps; -#define CONTEXT_TRAPS __dfp_traps -#define CONTEXT_ERRORS(context) context.status & DEC_Errors -extern void __dfp_raise (int); -#define DFP_RAISE(A) __dfp_raise(A) - /* Conversions between different decimal float types use WIDTH_TO to determine additional macros to define. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 592794380a5..fc8a3ed5bf1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,8 @@ -2006-11-21 Douglas Gregor <doug.gregor@gmail.com> +2006-11-21 Janis Johnson <janis187@us.ibm.com> + + * gcc.dg/dfp/snan.c: Delete. + +2006-11-21 Douglas Gregor <doug.gregor@gmail.com> * g++.dg/cpp0x/static_assert1.C: New. * g++.dg/cpp0x/static_assert2.C: New. diff --git a/gcc/testsuite/gcc.dg/dfp/snan.c b/gcc/testsuite/gcc.dg/dfp/snan.c deleted file mode 100644 index efc6e70ee83..00000000000 --- a/gcc/testsuite/gcc.dg/dfp/snan.c +++ /dev/null @@ -1,28 +0,0 @@ -/* { dg-options "" } */ - -/* FIXME: this test needs to be conditional to systems with POSIX signals. */ - -#include <signal.h> - -extern void exit(int status); -extern void abort(void); - -void go_quietly (int arg) -{ - exit (0); -} - -int main() -{ - _Decimal32 d = 1.5df; - - /* Enable signaling NaNs using a scaffolding libgcc function. */ - __dfp_enable_traps (); - signal (SIGFPE, go_quietly); - - d = d / 0.0df; - - /* Never reached. */ - abort (); - return 0; -} diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog index 5810ffff2d2..0068a92bfad 100644 --- a/libdecnumber/ChangeLog +++ b/libdecnumber/ChangeLog @@ -1,5 +1,8 @@ 2006-11-21 Janis Johnson <janis187@us.ibm.com> + * decLibrary.c (__dec_type_swap): Add prototype. + (__dfp_enable_traps, dfp_raise): Delete. + * Makefile.in: Don't include decRound in library used by compiler. 2006-10-10 Brooks Moses <bmoses@stanford.edu> diff --git a/libdecnumber/decLibrary.c b/libdecnumber/decLibrary.c index 19468ac892e..f757ffa67d0 100644 --- a/libdecnumber/decLibrary.c +++ b/libdecnumber/decLibrary.c @@ -31,8 +31,7 @@ void __host_to_ieee_128 (_Decimal128, decimal128 *); extern int isinfd32 (_Decimal32); extern int isinfd64 (_Decimal64); extern int isinfd128 (_Decimal128); -extern void __dfp_enable_traps (void); -extern void __dfp_raise (int exception __attribute__ ((unused))); +uint32_t __dec_byte_swap (uint32_t); int isinfd32 (_Decimal32 arg) @@ -67,20 +66,6 @@ isinfd128 (_Decimal128 arg) return (decNumberIsInfinite (&dn)); } -int __dfp_traps; - -void -__dfp_enable_traps (void) -{ - __dfp_traps = 1; -} - -void -__dfp_raise (int exception __attribute__ ((unused))) -{ - raise (SIGFPE); -} - uint32_t __dec_byte_swap (uint32_t in) { |