Closed kanthoney closed 7 years ago
Spidermonkey doesn't compile under gcc7. I don't seem to have access to that module, so here's a diff for the fix:
diff --git a/js/src/nanojit/NativeX64.cpp b/js/src/nanojit/NativeX64.cpp index 39fd4e0..eba4110 100644 --- a/js/src/nanojit/NativeX64.cpp +++ b/js/src/nanojit/NativeX64.cpp @@ -1899,7 +1899,7 @@ namespace nanojit } } - static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {0x8000000000000000LL,0}; + static const AVMPLUS_ALIGN16(uint64_t) negateMask[] = {0x8000000000000000LL,0}; void Assembler::asm_fneg(LIns *ins) { Register rr, ra;
The problem is that the constant 0x8000000000000000LL is technically outside the range for an int64_t, although it's got the right number of bits, and gcc7 refuses to build it. Changing the type to uint64_t fixes the build.
0x8000000000000000LL
int64_t
uint64_t
Thanks for the fix Kevin. Submitted to the mozilla submodule and the issue can be closed.
Spidermonkey doesn't compile under gcc7. I don't seem to have access to that module, so here's a diff for the fix:
The problem is that the constant
0x8000000000000000LL
is technically outside the range for anint64_t
, although it's got the right number of bits, and gcc7 refuses to build it. Changing the type touint64_t
fixes the build.