Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
#if defined(__i386__) && defined(__FreeBSD__) #include <ieeefp.h> #endif double d (unsigned long long k) { double x; x = (double) k; return x; } float s (unsigned long long k) { float x; x = (float) k; return x; } main () { unsigned long long int k; double x; #if defined(__i386__) && defined(__FreeBSD__) /* This test case assumes extended-precision, but FreeBSD defaults to double-precision. Make it so. */ fpsetprec (FP_PE); #endif if (sizeof (double) >= 8) { k = 0x8693ba6d7d220401ULL; x = d (k); k = (unsigned long long) x; if (k != 0x8693ba6d7d220800ULL) abort (); } k = 0x8234508000000001ULL; x = s (k); k = (unsigned long long) x; if (k != 0x8234510000000000ULL) abort (); exit (0); }