mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
Eliminate uses of GC_PTR, a holdover from libgc 6.x.
* libguile/bdw-gc.h (GC_PTR): Don't define. * libguile/finalizers.c (scm_i_set_finalizer): Use void* instead of GC_PTR. * libguile/foreign.c (pointer_finalizer_trampoline): Likewise. * libguile/guardians.c (finalize_guarded, scm_i_guard): Likewise. * libguile/numbers.c (finalize_bignum): Likewise. * libguile/ports.c (finalize_port, finalize_iconv_descriptors): Likewise. * libguile/smob.c (finalize_smob): Likewise. * libguile/struct.c (struct_finalizer_trampoline): Likewise. * libguile/weak-set.c (move_weak_entry, resize_set): (weak_set_add_x, weak_set_remove_x): Likewise, but also change some casts that should've been GC_PTR* to void**, and don't cast pointer values to void*. * libguile/weak-table.c (register_disappearing_links): (unregister_disappearing_links, move_disappearing_links): Likewise. * libguile/weak-vector.c (scm_c_weak_vector_set_x): Likewise.
This commit is contained in:
parent
ea17899018
commit
499f3de0d7
11 changed files with 34 additions and 38 deletions
|
@ -171,13 +171,12 @@ scm_c_weak_vector_set_x (SCM wv, size_t k, SCM x)
|
|||
elts = SCM_I_VECTOR_WELTS (wv);
|
||||
|
||||
if (prev && SCM_HEAP_OBJECT_P (SCM_PACK_POINTER (prev)))
|
||||
GC_unregister_disappearing_link ((GC_PTR) &elts[k]);
|
||||
GC_unregister_disappearing_link ((void **) &elts[k]);
|
||||
|
||||
elts[k] = x;
|
||||
|
||||
if (SCM_HEAP_OBJECT_P (x))
|
||||
SCM_I_REGISTER_DISAPPEARING_LINK ((GC_PTR) &elts[k],
|
||||
(GC_PTR) SCM2PTR (x));
|
||||
SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &elts[k], SCM2PTR (x));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue