[Git][ghc/ghc][master] rts: Eliminate uses of implicit constant arrays
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC Commits: 0c00c9c3 by Ben Gamari at 2025-10-15T08:06:51-04:00 rts: Eliminate uses of implicit constant arrays Folding of `const`-sized variable-length arrays to a constant-length array is a gnu extension which clang complains about. Closes #26502. - - - - - 2 changed files: - rts/Printer.c - rts/posix/OSMem.c Changes: ===================================== rts/Printer.c ===================================== @@ -1033,8 +1033,8 @@ findPtr(P_ p, int follow) { uint32_t g, n; bdescr *bd; - const int arr_size = 1024; - StgPtr arr[arr_size]; +#define ARR_SIZE 1024 + StgPtr arr[ARR_SIZE]; int i = 0; searched = 0; @@ -1044,24 +1044,24 @@ findPtr(P_ p, int follow) // just before a block is used. for (n = 0; n < getNumCapabilities(); n++) { bd = nurseries[i].blocks; - i = findPtrBlocks(p,bd,arr,arr_size,i); - if (i >= arr_size) return; + i = findPtrBlocks(p,bd,arr,ARR_SIZE,i); + if (i >= ARR_SIZE) return; } #endif for (g = 0; g < RtsFlags.GcFlags.generations; g++) { bd = generations[g].blocks; - i = findPtrBlocks(p,bd,arr,arr_size,i); + i = findPtrBlocks(p,bd,arr,ARR_SIZE,i); bd = generations[g].large_objects; - i = findPtrBlocks(p,bd,arr,arr_size,i); - if (i >= arr_size) return; + i = findPtrBlocks(p,bd,arr,ARR_SIZE,i); + if (i >= ARR_SIZE) return; for (n = 0; n < getNumCapabilities(); n++) { i = findPtrBlocks(p, gc_threads[n]->gens[g].part_list, - arr, arr_size, i); + arr, ARR_SIZE, i); i = findPtrBlocks(p, gc_threads[n]->gens[g].todo_bd, - arr, arr_size, i); + arr, ARR_SIZE, i); } - if (i >= arr_size) return; + if (i >= ARR_SIZE) return; } if (follow && i == 1) { debugBelch("-->\n"); ===================================== rts/posix/OSMem.c ===================================== @@ -585,7 +585,7 @@ void *osReserveHeapMemory(void *startAddressPtr, W_ *len) } #endif - const int MAX_ATTEMPTS = 256; +#define MAX_ATTEMPTS 256 void *bad_allocs[MAX_ATTEMPTS]; size_t bad_alloc_lens[MAX_ATTEMPTS]; memset(bad_allocs, 0, sizeof(void*) * MAX_ATTEMPTS); View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/0c00c9c3b4e9b8515d4839f2c1d7d771... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/0c00c9c3b4e9b8515d4839f2c1d7d771... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Marge Bot (@marge-bot)