Apparently I got one of the !HAVE_ATTRIBUTE_ALIAS fallbacks wrong.
It compiled with a warning:
../../gcc/ggc-common.cc: In function 'void* ggc_internal_cleared_alloc_no_dtor(size_t, void (*)(void*), size_t, size_t)':
../../gcc/ggc-common.cc:154:44: warning: unused parameter 'size' [-Wunused-parameter]
154 | ggc_internal_cleared_alloc_no_dtor (size_t size, void (*f)(void *),
| ~~~~~~~^~~~
and obviously didn't work right (always allocated 0-sized objects).
Fixed thusly.
2025-03-01 Jakub Jelinek <jakub@redhat.com>
PR jit/117047
* ggc-common.cc (ggc_internal_cleared_alloc_no_dtor): Pass size
rather than s as the first argument to ggc_internal_cleared_alloc.
ggc_internal_cleared_alloc_no_dtor (size_t size, void (*f)(void *),
size_t s, size_t n MEM_STAT_DECL)
{
- return ggc_internal_cleared_alloc (s, f, s, n PASS_MEM_STAT);
+ return ggc_internal_cleared_alloc (size, f, s, n PASS_MEM_STAT);
}
#endif