summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@raeburn.org>2012-05-20 16:08:54 -0400
committerKen Raeburn <raeburn@raeburn.org>2012-05-21 01:14:44 -0400
commit499f3de0d746191d92432ab90b585bad5ef1f3cc (patch)
tree6790f92ef610894da7b116576debc4f2a1ceb273
parentea178990181fc1e771dcb7b998abdcdcf04d83c9 (diff)
downloadguile-499f3de0d746191d92432ab90b585bad5ef1f3cc.tar.gz
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.
-rw-r--r--libguile/bdw-gc.h5
-rw-r--r--libguile/finalizers.c2
-rw-r--r--libguile/foreign.c2
-rw-r--r--libguile/guardians.c6
-rw-r--r--libguile/numbers.c2
-rw-r--r--libguile/ports.c4
-rw-r--r--libguile/smob.c2
-rw-r--r--libguile/struct.c2
-rw-r--r--libguile/weak-set.c18
-rw-r--r--libguile/weak-table.c24
-rw-r--r--libguile/weak-vector.c5
11 files changed, 34 insertions, 38 deletions
diff --git a/libguile/bdw-gc.h b/libguile/bdw-gc.h
index a58250f95..ba9833f1a 100644
--- a/libguile/bdw-gc.h
+++ b/libguile/bdw-gc.h
@@ -46,10 +46,7 @@
# error Boehm-GC version 7.2 or better is needed
#endif
-#if (defined GC_VERSION_MAJOR) && (GC_VERSION_MAJOR >= 7)
-/* This type was provided by `libgc' 6.x. */
-typedef void *GC_PTR;
-#endif
+#define GC_PTR do_not_use_GC_PTR do_not_use_GC_PTR do_not_use_GC_PTR
/* Return true if PTR points to the heap. */
diff --git a/libguile/finalizers.c b/libguile/finalizers.c
index 25aadf431..42faf7264 100644
--- a/libguile/finalizers.c
+++ b/libguile/finalizers.c
@@ -58,7 +58,7 @@ void
scm_i_set_finalizer (void *obj, scm_t_finalizer_proc proc, void *data)
{
GC_finalization_proc prev;
- GC_PTR prev_data;
+ void *prev_data;
GC_REGISTER_FINALIZER_NO_ORDER (obj, proc, data, &prev, &prev_data);
}
diff --git a/libguile/foreign.c b/libguile/foreign.c
index 832913147..44f68cca9 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -96,7 +96,7 @@ register_weak_reference (SCM from, SCM to)
}
static void
-pointer_finalizer_trampoline (GC_PTR ptr, GC_PTR data)
+pointer_finalizer_trampoline (void *ptr, void *data)
{
scm_t_pointer_finalizer finalizer = data;
finalizer (SCM_POINTER_VALUE (SCM_PACK_POINTER (ptr)));
diff --git a/libguile/guardians.c b/libguile/guardians.c
index a3d03230a..b34c00459 100644
--- a/libguile/guardians.c
+++ b/libguile/guardians.c
@@ -103,7 +103,7 @@ guardian_print (SCM guardian, SCM port, scm_print_state *pstate SCM_UNUSED)
/* Handle finalization of OBJ which is guarded by the guardians listed in
GUARDIAN_LIST. */
static void
-finalize_guarded (GC_PTR ptr, GC_PTR finalizer_data)
+finalize_guarded (void *ptr, void *finalizer_data)
{
SCM cell_pool;
SCM obj, guardian_list, proxied_finalizer;
@@ -166,7 +166,7 @@ finalize_guarded (GC_PTR ptr, GC_PTR finalizer_data)
/* Re-register the finalizer that was in place before we installed this
one. */
GC_finalization_proc finalizer, prev_finalizer;
- GC_PTR finalizer_data, prev_finalizer_data;
+ void *finalizer_data, *prev_finalizer_data;
finalizer = (GC_finalization_proc) SCM_UNPACK_POINTER (SCM_CAR (proxied_finalizer));
finalizer_data = SCM_UNPACK_POINTER (SCM_CDR (proxied_finalizer));
@@ -206,7 +206,7 @@ scm_i_guard (SCM guardian, SCM obj)
the very beginning of an object's lifetime (e.g., see `SCM_NEWSMOB')
or by this function. */
GC_finalization_proc prev_finalizer;
- GC_PTR prev_data;
+ void *prev_data;
SCM guardians_for_obj, finalizer_data;
g->live++;
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 20877d3ca..7bbdc56c0 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -179,7 +179,7 @@ static mpz_t z_negative_one;
/* Clear the `mpz_t' embedded in bignum PTR. */
static void
-finalize_bignum (GC_PTR ptr, GC_PTR data)
+finalize_bignum (void *ptr, void *data)
{
SCM bignum;
diff --git a/libguile/ports.c b/libguile/ports.c
index b45378592..0a4f9b9a6 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -553,7 +553,7 @@ do_free (void *body_data)
/* Finalize the object (a port) pointed to by PTR. */
static void
-finalize_port (GC_PTR ptr, GC_PTR data)
+finalize_port (void *ptr, void *data)
{
SCM port = SCM_PACK_POINTER (ptr);
@@ -848,7 +848,7 @@ scm_i_default_port_encoding (void)
}
static void
-finalize_iconv_descriptors (GC_PTR ptr, GC_PTR data)
+finalize_iconv_descriptors (void *ptr, void *data)
{
close_iconv_descriptors (ptr);
}
diff --git a/libguile/smob.c b/libguile/smob.c
index cbb3d7bb3..c2347f3be 100644
--- a/libguile/smob.c
+++ b/libguile/smob.c
@@ -377,7 +377,7 @@ scm_gc_mark (SCM o)
/* Finalize SMOB by calling its SMOB type's free function, if any. */
static void
-finalize_smob (GC_PTR ptr, GC_PTR data)
+finalize_smob (void *ptr, void *data)
{
SCM smob;
size_t (* free_smob) (SCM);
diff --git a/libguile/struct.c b/libguile/struct.c
index 12a884256..e8182a2fd 100644
--- a/libguile/struct.c
+++ b/libguile/struct.c
@@ -411,7 +411,7 @@ SCM_DEFINE (scm_struct_vtable_p, "struct-vtable?", 1, 0, 0,
/* Finalization: invoke the finalizer of the struct pointed to by PTR. */
static void
-struct_finalizer_trampoline (GC_PTR ptr, GC_PTR unused_data)
+struct_finalizer_trampoline (void *ptr, void *unused_data)
{
SCM obj = PTR2SCM (ptr);
scm_t_struct_finalize finalize = SCM_STRUCT_FINALIZER (obj);
diff --git a/libguile/weak-set.c b/libguile/weak-set.c
index 33402b548..6a60ee6a0 100644
--- a/libguile/weak-set.c
+++ b/libguile/weak-set.c
@@ -174,11 +174,11 @@ move_weak_entry (scm_t_weak_entry *from, scm_t_weak_entry *to)
if (copy.key && SCM_HEAP_OBJECT_P (SCM_PACK (copy.key)))
{
#ifdef HAVE_GC_MOVE_DISAPPEARING_LINK
- GC_move_disappearing_link ((GC_PTR) &from->key, (GC_PTR) &to->key);
+ GC_move_disappearing_link ((void **) &from->key, (void **) &to->key);
#else
- GC_unregister_disappearing_link ((GC_PTR) &from->key);
- SCM_I_REGISTER_DISAPPEARING_LINK ((GC_PTR) &to->key,
- (GC_PTR) to->key);
+ GC_unregister_disappearing_link ((void **) &from->key);
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &to->key,
+ (void *) to->key);
#endif
}
}
@@ -418,8 +418,8 @@ resize_set (scm_t_weak_set *set)
new_entries[new_k].key = copy.key;
if (SCM_HEAP_OBJECT_P (SCM_PACK (copy.key)))
- SCM_I_REGISTER_DISAPPEARING_LINK ((GC_PTR) &new_entries[new_k].key,
- (GC_PTR) new_entries[new_k].key);
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &new_entries[new_k].key,
+ (void *) new_entries[new_k].key);
}
}
@@ -579,8 +579,8 @@ weak_set_add_x (scm_t_weak_set *set, unsigned long hash,
entries[k].key = SCM_UNPACK (obj);
if (SCM_HEAP_OBJECT_P (obj))
- SCM_I_REGISTER_DISAPPEARING_LINK ((GC_PTR) &entries[k].key,
- (GC_PTR) SCM2PTR (obj));
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &entries[k].key,
+ SCM2PTR (obj));
return obj;
}
@@ -631,7 +631,7 @@ weak_set_remove_x (scm_t_weak_set *set, unsigned long hash,
entries[k].key = 0;
if (SCM_HEAP_OBJECT_P (SCM_PACK (copy.key)))
- GC_unregister_disappearing_link ((GC_PTR) &entries[k].key);
+ GC_unregister_disappearing_link ((void **) &entries[k].key);
if (--set->n_items < set->lower)
resize_set (set);
diff --git a/libguile/weak-table.c b/libguile/weak-table.c
index be73e1bfa..9ef6674e1 100644
--- a/libguile/weak-table.c
+++ b/libguile/weak-table.c
@@ -130,14 +130,14 @@ register_disappearing_links (scm_t_weak_entry *entry,
if (SCM_UNPACK (k) && SCM_HEAP_OBJECT_P (k)
&& (kind == SCM_WEAK_TABLE_KIND_KEY
|| kind == SCM_WEAK_TABLE_KIND_BOTH))
- SCM_I_REGISTER_DISAPPEARING_LINK ((GC_PTR) &entry->key,
- (GC_PTR) SCM2PTR (k));
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &entry->key,
+ SCM2PTR (k));
if (SCM_UNPACK (v) && SCM_HEAP_OBJECT_P (v)
&& (kind == SCM_WEAK_TABLE_KIND_VALUE
|| kind == SCM_WEAK_TABLE_KIND_BOTH))
- SCM_I_REGISTER_DISAPPEARING_LINK ((GC_PTR) &entry->value,
- (GC_PTR) SCM2PTR (v));
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &entry->value,
+ SCM2PTR (v));
}
static void
@@ -145,10 +145,10 @@ unregister_disappearing_links (scm_t_weak_entry *entry,
scm_t_weak_table_kind kind)
{
if (kind == SCM_WEAK_TABLE_KIND_KEY || kind == SCM_WEAK_TABLE_KIND_BOTH)
- GC_unregister_disappearing_link ((GC_PTR) &entry->key);
+ GC_unregister_disappearing_link ((void **) &entry->key);
if (kind == SCM_WEAK_TABLE_KIND_VALUE || kind == SCM_WEAK_TABLE_KIND_BOTH)
- GC_unregister_disappearing_link ((GC_PTR) &entry->value);
+ GC_unregister_disappearing_link ((void **) &entry->value);
}
static void
@@ -159,10 +159,10 @@ move_disappearing_links (scm_t_weak_entry *from, scm_t_weak_entry *to,
&& SCM_HEAP_OBJECT_P (key))
{
#ifdef HAVE_GC_MOVE_DISAPPEARING_LINK
- GC_move_disappearing_link ((GC_PTR) &from->key, (GC_PTR) &to->key);
+ GC_move_disappearing_link ((void **) &from->key, (void **) &to->key);
#else
- GC_unregister_disappearing_link (&from->key);
- SCM_I_REGISTER_DISAPPEARING_LINK (&to->key, SCM2PTR (key));
+ GC_unregister_disappearing_link ((void **) &from->key);
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &to->key, SCM2PTR (key));
#endif
}
@@ -170,10 +170,10 @@ move_disappearing_links (scm_t_weak_entry *from, scm_t_weak_entry *to,
&& SCM_HEAP_OBJECT_P (value))
{
#ifdef HAVE_GC_MOVE_DISAPPEARING_LINK
- GC_move_disappearing_link ((GC_PTR) &from->value, (GC_PTR) &to->value);
+ GC_move_disappearing_link ((void **) &from->value, (void **) &to->value);
#else
- GC_unregister_disappearing_link (&from->value);
- SCM_I_REGISTER_DISAPPEARING_LINK (&to->value, SCM2PTR (value));
+ GC_unregister_disappearing_link ((void **) &from->value);
+ SCM_I_REGISTER_DISAPPEARING_LINK ((void **) &to->value, SCM2PTR (value));
#endif
}
}
diff --git a/libguile/weak-vector.c b/libguile/weak-vector.c
index 23bc386d4..ed6703d02 100644
--- a/libguile/weak-vector.c
+++ b/libguile/weak-vector.c
@@ -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));
}