convert-int-saturate.c [plain text]
#include <decfloat.h>
#include <limits.h>
extern void abort (void);
volatile _Decimal32 d32;
volatile _Decimal64 d64;
volatile _Decimal128 d128;
volatile signed int si;
volatile unsigned int usi;
volatile unsigned long long udi;
int
main ()
{
usi = DEC32_MAX;
if (usi != UINT_MAX)
abort ();
usi = DEC64_MAX;
if (usi != UINT_MAX)
abort ();
usi = DEC128_MAX;
if (usi != UINT_MAX)
abort ();
si = DEC32_MAX;
if (si != INT_MAX)
abort ();
si = DEC64_MAX;
if (si != INT_MAX)
abort ();
si = DEC128_MAX;
if (si != INT_MAX)
abort ();
si = - DEC32_MAX;
if (si != INT_MIN)
abort ();
si = - DEC64_MAX;
if (si != INT_MIN)
abort ();
si = - DEC128_MAX;
if (si != INT_MIN)
abort ();
return 0;
}