diff options
author | Mark H Weaver <mhw@netris.org> | 2013-08-08 01:23:04 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2013-08-08 01:23:04 -0400 |
commit | 789dd40b8b3c3dab230cbb407c8435b430d6a18a (patch) | |
tree | 02eb6006014b66ae4901cddf3af9c753c438f69a | |
parent | 5270bb5bdbc4a036b9d4f73aa378b291f90ae04a (diff) |
Fix --without-threads and SCM_DEBUG_TYPING_STRICTNESS==2 builds.
* libguile/hashtab.c (scm_hashv_ref, scm_hashv_set_x,
scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x, scm_hash_remove_x):
* libguile/strports.c (scm_mkstrport):
* libguile/weak-vector.c (weak_vector_ref): Add missing SCM_UNPACK.
* libguile/ports.c (lock_port, unlock_port): Cast MUTEX to the
expected type.
-rw-r--r-- | libguile/hashtab.c | 16 | ||||
-rw-r--r-- | libguile/ports.c | 4 | ||||
-rw-r--r-- | libguile/strports.c | 2 | ||||
-rw-r--r-- | libguile/weak-vector.c | 5 |
4 files changed, 15 insertions, 12 deletions
diff --git a/libguile/hashtab.c b/libguile/hashtab.c index fff48b857..30d781fe7 100644 --- a/libguile/hashtab.c +++ b/libguile/hashtab.c @@ -1,5 +1,5 @@ /* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006, - * 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + * 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -524,7 +524,8 @@ SCM_DEFINE (scm_hashv_ref, "hashv-ref", 2, 1, 0, if (SCM_WEAK_TABLE_P (table)) return scm_c_weak_table_ref (table, scm_ihashv (key, -1), - assv_predicate, SCM_PACK (key), dflt); + assv_predicate, + (void *) SCM_UNPACK (key), dflt); return scm_hash_fn_ref (table, key, dflt, (scm_t_hash_fn) scm_ihashv, @@ -544,7 +545,7 @@ SCM_DEFINE (scm_hashv_set_x, "hashv-set!", 3, 0, 0, if (SCM_WEAK_TABLE_P (table)) { scm_c_weak_table_put_x (table, scm_ihashv (key, -1), - assv_predicate, SCM_PACK (key), + assv_predicate, (void *) SCM_UNPACK (key), key, val); return val; } @@ -566,7 +567,7 @@ SCM_DEFINE (scm_hashv_remove_x, "hashv-remove!", 2, 0, 0, if (SCM_WEAK_TABLE_P (table)) { scm_c_weak_table_remove_x (table, scm_ihashv (key, -1), - assv_predicate, SCM_PACK (key)); + assv_predicate, (void *) SCM_UNPACK (key)); /* See note in hashq-remove!. */ return SCM_BOOL_F; } @@ -630,7 +631,8 @@ SCM_DEFINE (scm_hash_ref, "hash-ref", 2, 1, 0, if (SCM_WEAK_TABLE_P (table)) return scm_c_weak_table_ref (table, scm_ihash (key, -1), - assoc_predicate, SCM_PACK (key), dflt); + assoc_predicate, + (void *) SCM_UNPACK (key), dflt); return scm_hash_fn_ref (table, key, dflt, (scm_t_hash_fn) scm_ihash, @@ -651,7 +653,7 @@ SCM_DEFINE (scm_hash_set_x, "hash-set!", 3, 0, 0, if (SCM_WEAK_TABLE_P (table)) { scm_c_weak_table_put_x (table, scm_ihash (key, -1), - assoc_predicate, SCM_PACK (key), + assoc_predicate, (void *) SCM_UNPACK (key), key, val); return val; } @@ -674,7 +676,7 @@ SCM_DEFINE (scm_hash_remove_x, "hash-remove!", 2, 0, 0, if (SCM_WEAK_TABLE_P (table)) { scm_c_weak_table_remove_x (table, scm_ihash (key, -1), - assoc_predicate, SCM_PACK (key)); + assoc_predicate, (void *) SCM_UNPACK (key)); /* See note in hashq-remove!. */ return SCM_BOOL_F; } diff --git a/libguile/ports.c b/libguile/ports.c index 20c90810d..7934379d0 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -1353,13 +1353,13 @@ SCM_DEFINE (scm_set_port_conversion_strategy_x, "set-port-conversion-strategy!", static void lock_port (void *mutex) { - scm_i_pthread_mutex_lock (mutex); + scm_i_pthread_mutex_lock ((scm_i_pthread_mutex_t *) mutex); } static void unlock_port (void *mutex) { - scm_i_pthread_mutex_unlock (mutex); + scm_i_pthread_mutex_unlock ((scm_i_pthread_mutex_t *) mutex); } void diff --git a/libguile/strports.c b/libguile/strports.c index f10ede962..591089477 100644 --- a/libguile/strports.c +++ b/libguile/strports.c @@ -297,7 +297,7 @@ scm_mkstrport (SCM pos, SCM str, long modes, const char *caller) z = scm_c_make_port_with_encoding (scm_tc16_strport, modes, "UTF-8", scm_i_default_port_conversion_handler (), - (scm_t_bits)buf); + SCM_UNPACK (buf)); pt = SCM_PTAB_ENTRY (z); diff --git a/libguile/weak-vector.c b/libguile/weak-vector.c index 3e90b3d57..30e2ed63f 100644 --- a/libguile/weak-vector.c +++ b/libguile/weak-vector.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1995,1996,1998,2000,2001, 2003, 2006, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1998, 2000, 2001, 2003, 2006, 2008, 2009, + * 2010, 2011, 2012, 2013 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -129,7 +130,7 @@ weak_vector_ref (void *data) { struct weak_vector_ref_data *d = data; - return SCM_SIMPLE_VECTOR_REF (d->wv, d->k); + return (void *) SCM_UNPACK (SCM_SIMPLE_VECTOR_REF (d->wv, d->k)); } SCM |