From b5bba5c256f4fb07288c4517dbe6abbf2d85ee3d Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 15 Oct 2015 04:26:19 +0000 Subject: builtins: Expand out floating point exponents for MSVC MSVC 2013 doesnt support C99 fully, including the hexidecimal floating point representation. Use the expanded value to permit building with it. Patch by Tee Hao Wei! llvm-svn: 250365 --- compiler-rt/lib/builtins/floatundidf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'compiler-rt/lib/builtins/floatundidf.c') diff --git a/compiler-rt/lib/builtins/floatundidf.c b/compiler-rt/lib/builtins/floatundidf.c index 73b8bac1c1a..67aa86e5e5b 100644 --- a/compiler-rt/lib/builtins/floatundidf.c +++ b/compiler-rt/lib/builtins/floatundidf.c @@ -32,9 +32,9 @@ ARM_EABI_FNALIAS(ul2d, floatundidf) COMPILER_RT_ABI double __floatundidf(du_int a) { - static const double twop52 = 0x1.0p52; - static const double twop84 = 0x1.0p84; - static const double twop84_plus_twop52 = 0x1.00000001p84; + static const double twop52 = 4503599627370496.0; // 0x1.0p52 + static const double twop84 = 19342813113834066795298816.0; // 0x1.0p84 + static const double twop84_plus_twop52 = 19342813118337666422669312.0; // 0x1.00000001p84 union { uint64_t x; double d; } high = { .d = twop84 }; union { uint64_t x; double d; } low = { .d = twop52 }; -- cgit v1.2.3