From: Janis Johnson Date: Tue, 21 Nov 2006 20:35:57 +0000 (+0000) Subject: decLibrary.c (__dec_type_swap): Add prototype. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d44963af3cca13f72aa04415e380750d1ba3fc78;p=platform%2Fupstream%2Fgcc.git decLibrary.c (__dec_type_swap): Add prototype. decnumber/ * decLibrary.c (__dec_type_swap): Add prototype. (__dfp_enable_traps, dfp_raise): Delete. gcc/ * 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. testsuite/ * gcc.dg/dfp/snan.c: Delete. From-SVN: r119068 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e55777a..74c9854 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2006-11-21 Janis Johnson + * 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 diff --git a/gcc/config/dfp-bit.c b/gcc/config/dfp-bit.c index 9cdf645..fafe7dc 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 a6c7798..dfad7d3 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 5927943..fc8a3ed 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,8 @@ -2006-11-21 Douglas Gregor +2006-11-21 Janis Johnson + + * gcc.dg/dfp/snan.c: Delete. + +2006-11-21 Douglas Gregor * 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 efc6e70..0000000 --- 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 - -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 5810fff..0068a92 100644 --- a/libdecnumber/ChangeLog +++ b/libdecnumber/ChangeLog @@ -1,5 +1,8 @@ 2006-11-21 Janis Johnson + * 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 diff --git a/libdecnumber/decLibrary.c b/libdecnumber/decLibrary.c index 19468ac..f757ffa 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) {