aboutsummaryrefslogtreecommitdiffstats
path: root/bignum.c
diff options
context:
space:
mode:
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bignum.c b/bignum.c
index 2c8c97685b..bced660134 100644
--- a/bignum.c
+++ b/bignum.c
@@ -3336,8 +3336,12 @@ absint_numwords_generic(size_t numbytes, int nlz_bits_in_msbyte, size_t word_num
sign = bary_pack(+1, BARY_ARGS(div_bary), &numwords, 1, sizeof(numwords), 0,
INTEGER_PACK_NATIVE_BYTE_ORDER);
- if (sign == 2)
+ if (sign == 2) {
+#if defined __GNUC__ && (__GNUC__ == 4 && __GNUC_MINOR__ == 4)
+ *nlz_bits_ret = 0;
+#endif
return (size_t)-1;
+ }
*nlz_bits_ret = nlz_bits;
return numwords;
}