diff --git a/bn_mp_set_double.c b/bn_mp_set_double.c
--- a/bn_mp_set_double.c
+++ b/bn_mp_set_double.c
@@ -3,6 +3,16 @@
 /* LibTomMath, multiple-precision integer library -- Tom St Denis */
 /* SPDX-License-Identifier: Unlicense */
 
+#ifdef __GCC_IEC_559
+# if __GCC_IEC_559 > 0
+#  define __STDC_IEC_559__              1
+#  define __STDC_IEC_60559_BFP__        201404L
+# endif
+#else
+# define __STDC_IEC_559__               1
+# define __STDC_IEC_60559_BFP__         201404L
+#endif
+
 #if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) || defined(_MSC_VER)
 mp_err mp_set_double(mp_int *a, double b)
 {
