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
This commit is contained in:
Janis Johnson 2006-11-21 20:35:57 +00:00
parent 0e07f2003e
commit d44963af3c
7 changed files with 13 additions and 66 deletions

View File

@ -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>

View File

@ -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

View File

@ -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. */

View File

@ -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.

View File

@ -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;
}

View File

@ -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>

View File

@ -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)
{