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>
/* 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;
/* 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;
/* 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))
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;
/* 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
/* 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
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. */
-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.
+++ /dev/null
-/* { 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;
-}
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>
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)
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)
{