diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2016-12-06 16:56:42 +0100 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2016-12-06 19:03:21 +0100 |
commit | 40cffd816b7adbf8f136f62f6f891fb5be9b96a6 (patch) | |
tree | 3e23303d82b2cbfc09e71d808bc98a3fd4665239 | |
parent | 7af1b3e08452c3bbced6ca7eece2c91c6bf29137 (diff) |
Fix #5248 - test-suite fails in 8.6beta1
This was yet another bug in the VM long multiplication, that
I unfortunately introduced in ebc509ed2. It was impacting only 32-bit
architectures.
In the future, I'll try to make sure that
1) we provide unit tests for integer arithmetic (my int63 branch ships
with such tests)
2) our continuous testing infrastructure runs the test suite on a 32-bit
architecture. I tried to set up such an instance, but failed. Waiting
for support reply.
-rw-r--r-- | kernel/byterun/coq_interp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/byterun/coq_interp.c b/kernel/byterun/coq_interp.c index 47df22807..5dec3b785 100644 --- a/kernel/byterun/coq_interp.c +++ b/kernel/byterun/coq_interp.c @@ -23,9 +23,9 @@ #include "coq_values.h" /* spiwack: I append here a few macros for value/number manipulation */ -#define uint32_of_value(val) ((uint32_t)(val) >> 1) -#define value_of_uint32(i) ((value)(((uint32_t)(i) << 1) | 1)) -#define UI64_of_uint32(lo) ((uint64_t)(lo)) +#define uint32_of_value(val) (((uint32_t)(val)) >> 1) +#define value_of_uint32(i) ((value)((((uint32_t)(i)) << 1) | 1)) +#define UI64_of_uint32(lo) ((uint64_t)((uint32_t)(lo))) #define UI64_of_value(val) (UI64_of_uint32(uint32_of_value(val))) /* /spiwack */ |