diff options
author | Michael Livshin <mlivshin@bigfoot.com> | 2001-01-11 21:03:18 +0000 |
---|---|---|
committer | Michael Livshin <mlivshin@bigfoot.com> | 2001-01-11 21:03:18 +0000 |
commit | 322ec19d3cede3e4d74c209e8155b4faba21f5f5 (patch) | |
tree | 6d801086023ddcd6173b71b1fe4b90ba39f10b16 /libguile/objects.h | |
parent | 60d02d0914b57ba7e1ecd78a9ec27387cfd98b57 (diff) | |
download | guile-322ec19d3cede3e4d74c209e8155b4faba21f5f5.tar.gz |
* objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
casts its result, so doesn't yield an lvalue per ANSI C.
* goops.c (s_scm_sys_set_object_setter_x): use
SCM_SET_ENTITY_SETTER.
(clear_method_cache): use SCM_SET_ENTITY_PROCEDURE.
* gc.h (SCM_GC_SET_CARD_BVEC): new macro. SCM_GC_CARD_BVEC casts
its result, so doesn't yield an lvalue per ANSI C.
(SCM_GC_SET_CARD_FLAGS): ditto for SCM_GC_GET_CARD_FLAGS.
(SCM_GC_CLR_CARD_FLAGS): redefined in terms of
SCM_GC_SET_CARD_FLAGS.
(SCM_GC_SET_CARD_FLAG, SCM_GC_CLR_CARD_FLAGS): ditto.
* gc.c (INIT_CARD): use the explicit setter macro to set the bvec.
Diffstat (limited to 'libguile/objects.h')
-rw-r--r-- | libguile/objects.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/objects.h b/libguile/objects.h index aa5836e9f..110158a8e 100644 --- a/libguile/objects.h +++ b/libguile/objects.h @@ -94,6 +94,8 @@ #define SCM_SET_ENTITY_PROCEDURE(obj,v) \ (SCM_STRUCT_DATA (obj) [scm_struct_i_procedure] = SCM_UNPACK (v)) #define SCM_ENTITY_SETTER(obj) (SCM_PACK (SCM_STRUCT_DATA (obj)[scm_struct_i_setter])) +#define SCM_SET_ENTITY_SETTER(obj, v) \ + (SCM_STRUCT_DATA (obj) [scm_struct_i_setter] = SCM_UNPACK (v)) #define SCM_SET_CLASS_DESTRUCTOR(c, d) SCM_SET_VTABLE_DESTRUCTOR (c, d) #define SCM_SET_CLASS_INSTANCE_SIZE(c, s) \ |