From c58208c2d5f8311e845cf78c9a01c0a8b67434f0 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 3 Jun 2023 07:53:55 -0700 Subject: gc: fix bad c++ casts. This C++ regression snuck into in Version 286; I didn't check C++ compilation. * lib.h (container): Macro must use coerce not convert because mem_t * isn't void *. * gc.c (gc_prot_array_alloc): Likewise. --- gc.c | 8 ++++---- lib.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gc.c b/gc.c index 45106d8b..41f0c6d2 100644 --- a/gc.c +++ b/gc.c @@ -1323,11 +1323,11 @@ static struct cobj_ops prot_array_ops = cobj_ops_init(eq, val *gc_prot_array_alloc(cnum size) { - struct prot_array *pa = convert(struct prot_array *, - chk_calloc(offsetof(struct prot_array, arr) + - size * sizeof(val), 1)); + struct prot_array *pa = coerce(struct prot_array *, + chk_calloc(offsetof(struct prot_array, arr) + + size * sizeof(val), 1)); pa->size = size; - pa->self = cobj(convert(mem_t *, pa), prot_array_cls, &prot_array_ops); + pa->self = cobj(coerce(mem_t *, pa), prot_array_cls, &prot_array_ops); return pa->arr; } diff --git a/lib.h b/lib.h index dc90aa23..8448db55 100644 --- a/lib.h +++ b/lib.h @@ -47,8 +47,8 @@ typedef double_uintptr_t dbl_ucnum; #endif #define container(PTR, TYPE, MEMB) \ - convert(TYPE *, \ - convert(mem_t *, (PTR)) - offsetof(TYPE, MEMB)) + coerce(TYPE *, \ + coerce(mem_t *, (PTR)) - offsetof(TYPE, MEMB)) #if __STDC_VERSION__ >= 199901L #define FLEX_ARRAY -- cgit v1.2.3