Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/c-c++-common/dfp/convert-int-saturate.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* N1150 5.1 Conversion between decimal floating integer. C99 6.3.1.4(1a) New. Test integer saturation. */ #ifndef __STDC_WANT_DEC_FP__ #define __STDC_WANT_DEC_FP__ 1 #endif #include "dfp-dbg.h" #include <float.h> #include <limits.h> volatile _Decimal32 d32; volatile _Decimal64 d64; volatile _Decimal128 d128; volatile signed int si; volatile unsigned int usi; volatile unsigned long long udi; int main () { /* Unsigned. */ usi = DEC32_MAX; /* { dg-warning "overflow in conversion" } */ if (usi != UINT_MAX) FAILURE usi = DEC64_MAX; /* { dg-warning "overflow in conversion" } */ if (usi != UINT_MAX) FAILURE usi = DEC128_MAX; /* { dg-warning "overflow in conversion" } */ if (usi != UINT_MAX) FAILURE /* Signed. */ si = DEC32_MAX; /* { dg-warning "overflow in conversion" } */ if (si != INT_MAX) FAILURE si = DEC64_MAX; /* { dg-warning "overflow in conversion" } */ if (si != INT_MAX) FAILURE si = DEC128_MAX; /* { dg-warning "overflow in conversion" } */ if (si != INT_MAX) FAILURE si = - DEC32_MAX; /* { dg-warning "overflow in conversion" } */ if (si != INT_MIN) FAILURE si = - DEC64_MAX; /* { dg-warning "overflow in conversion" } */ if (si != INT_MIN) FAILURE si = - DEC128_MAX; /* { dg-warning "overflow in conversion" } */ if (si != INT_MIN) FAILURE FINISH }