buildroot/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch
Matt Weber a2bdf45b7e package/moarvm: resolve libtommath name collision
Fixes
http://autobuild.buildroot.net/results/02f/02ff68698603ebdce5d13d3130a15b5a1ecc14d2/build-end.log

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05 15:28:38 +01:00

66 lines
2.4 KiB
Diff

From ead5f4da759465cf6fc2ceab7c431d3550a3323f Mon Sep 17 00:00:00 2001
From: Timo Paulssen <timonator@perpetuum-immobile.de>
Date: Tue, 15 Jan 2019 12:35:56 +0100
Subject: [PATCH] Fix Name Collision With Existing LibTomMath Function
fixes #1032
Upstream: https://github.com/MoarVM/MoarVM/commit/f7204a3ee5199dd70f26d6fe133008cc86c63bbe
(backported mp_get_double() as other functions weren't yet used)
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
src/math/bigintops.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/math/bigintops.c b/src/math/bigintops.c
index 2275593..8ab7ed6 100644
--- a/src/math/bigintops.c
+++ b/src/math/bigintops.c
@@ -45,7 +45,7 @@ int MVM_bigint_mp_set_uint64(mp_int * a, MVMuint64 b) {
return MP_OKAY;
}
-static MVMnum64 mp_get_double(mp_int *a) {
+static MVMnum64 MVM_mp_get_double(mp_int *a) {
MVMnum64 d = 0.0;
MVMnum64 sign = SIGN(a) == MP_NEG ? -1.0 : 1.0;
int i;
@@ -680,8 +680,8 @@ MVMObject * MVM_bigint_pow(MVMThreadContext *tc, MVMObject *a, MVMObject *b,
}
}
else {
- MVMnum64 f_base = mp_get_double(base);
- MVMnum64 f_exp = mp_get_double(exponent);
+ MVMnum64 f_base = MVM_mp_get_double(base);
+ MVMnum64 f_exp = MVM_mp_get_double(exponent);
r = MVM_repr_box_num(tc, num_type, pow(f_base, f_exp));
}
clear_temp_bigints(tmp, 2);
@@ -880,7 +880,7 @@ MVMnum64 MVM_bigint_to_num(MVMThreadContext *tc, MVMObject *a) {
if (MVM_BIGINT_IS_BIG(ba)) {
mp_int *ia = ba->u.bigint;
- return mp_get_double(ia);
+ return MVM_mp_get_double(ia);
} else {
return (double)ba->u.smallint.value;
}
@@ -913,11 +913,11 @@ MVMnum64 MVM_bigint_div_num(MVMThreadContext *tc, MVMObject *a, MVMObject *b) {
mp_init(&reduced_b);
mp_div_2d(ia, max_size - 1023, &reduced_a, NULL);
mp_div_2d(ib, max_size - 1023, &reduced_b, NULL);
- c = mp_get_double(&reduced_a) / mp_get_double(&reduced_b);
+ c = MVM_mp_get_double(&reduced_a) / MVM_mp_get_double(&reduced_b);
mp_clear(&reduced_a);
mp_clear(&reduced_b);
} else {
- c = mp_get_double(ia) / mp_get_double(ib);
+ c = MVM_mp_get_double(ia) / MVM_mp_get_double(ib);
}
clear_temp_bigints(tmp, 2);
} else {
--
1.9.1