1From 4e90f3185aea9160c28f3eaec5625b67fc0f67db Mon Sep 17 00:00:00 2001 2From: Daniel Green <ddgreen@gmail.com> 3Date: Sun, 9 Feb 2020 11:06:53 -0500 4Subject: [PATCH] Build+test bn_mp_set_double.c on more platforms 5 6Not all platforms/environments/architectures that support enough of 7IEEE 754 for the purposes of mp_set_double() actually support enough 8to legitimately define __STDC_IEC_559__, so only relying on that is 9too strict. Fixes https://github.com/libtom/libtommath/issues/159 10 11Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 12[Retrieved (and backported) from: 13https://github.com/libtom/libtommath/commit/4e90f3185aea9160c28f3eaec5625b67fc0f67db] 14--- 15 demo/test.c | 2 +- 16 bn_mp_set_double.c | 2 +- 17 2 files changed, 2 insertions(+), 2 deletions(-) 18 19diff --git a/demo/test.c b/demo/test.c 20index 998f14b3..f719709d 100644 21--- a/demo/test.c 22+++ b/demo/test.c 23@@ -522,7 +522,7 @@ static int test_mp_invmod(void) 24 25 } 26 27-#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) 28+#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) || defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) || defined(__i386__) || defined(_M_X86) || defined(__aarch64__) || defined(__arm__) 29 static int test_mp_set_double(void) 30 { 31 int i; 32diff --git a/mp_set_double.c b/mp_set_double.c 33index 78550c8f..cdc644d9 100644 34--- a/bn_mp_set_double.c 35+++ b/bn_mp_set_double.c 36@@ -3,7 +3,7 @@ 37 /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 38 /* SPDX-License-Identifier: Unlicense */ 39 40-#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) 41+#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) || defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) || defined(__i386__) || defined(_M_X86) || defined(__aarch64__) || defined(__arm__) 42 mp_err mp_set_double(mp_int *a, double b) 43 { 44 uint64_t frac; 45