[Issue 16264] BigInt multiplication crashes on 64-bit (biguintnoasm.d(276): Range violation)
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Mon Jul 11 19:15:54 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16264
--- Comment #3 from Kirill Kryukov <kkryukov at gmail.com> ---
Here is the reason 32-bit BigUint multiplication works:
std/internal/math/biguintcore.d has the following:
version(D_InlineAsm_X86)
{
import std.internal.math.biguintx86;
}
else
{
import std.internal.math.biguintnoasm;
}
So, 32-bit compile uses the seemingly correct std.internal.math.biguintx86. On
the other hand, 64-bit compile uses std.internal.math.biguintnoasm - buggy,
untested and apparently never used in the real world.
--
More information about the Digitalmars-d-bugs
mailing list