More GCC compatibility/warning fixes (#3118)

* Wrap >4-char literals in a MULTI_CHAR macro

Modern compilers do not support CW's non-standard behavior with
>4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves <=4 char literals
unchanged.

* Replace non-pointer usages of NULL with 0

* Define NULL to nullptr on C++11 and above

* Fix more -Wpointer-arith and -Woverflow warnings

* Replace u32/s32 with uintptr_t/intptr_t where appropriate

* JSUOutputStream: Overload all standard int types
This commit is contained in:
Luke Street
2026-02-28 21:19:17 -07:00
committed by GitHub
parent b5d3b8c059
commit 6a48380461
169 changed files with 1849 additions and 1818 deletions
+1 -1
View File
@@ -857,7 +857,7 @@ BOOL cCc_Check() {
BOOL rt = TRUE;
for (int i = 0; i < ARRAY_SIZEU(DynamicNameTable); i++) {
uintptr_t ptr = (uintptr_t)DMC[i];
if (ptr != NULL) {
if (ptr != 0) {
u32 ptr_hi_byte = ptr >> 0x18;
if (ptr_hi_byte < 0x80 || ptr_hi_byte > 0x83) {
// "cCc_Check invalid pointer detected"