diff options
author | Andy Wingo <wingo@pobox.com> | 2012-01-30 18:52:46 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2012-01-30 18:52:46 +0100 |
commit | 252acfe8e70ac4c7d325588ffea1905fcf6f86b2 (patch) | |
tree | e31cae9d145548b86cba6764d0943329a4ef64d1 /libguile/frames.h | |
parent | 855db1905d56efcdf91ae51a9e80990f79030eae (diff) | |
parent | 3d51e57cfb0404db568a6adfde2a346d3fd9907e (diff) | |
download | guile-252acfe8e70ac4c7d325588ffea1905fcf6f86b2.tar.gz |
Merge commit '3d51e57cfb0404db568a6adfde2a346d3fd9907e'
Conflicts:
libguile/foreign.c
libguile/hashtab.c
module/ice-9/psyntax-pp.scm
module/language/tree-il/compile-glil.scm
Diffstat (limited to 'libguile/frames.h')
-rw-r--r-- | libguile/frames.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/frames.h b/libguile/frames.h index cae2bd0c0..71d5b124d 100644 --- a/libguile/frames.h +++ b/libguile/frames.h @@ -70,9 +70,10 @@ struct scm_vm_frame SCM stack[1]; /* Variable-length */ }; -#define SCM_FRAME_STRUCT(fp) ((struct scm_vm_frame*)(((SCM*)(fp)) - 4)) +#define SCM_FRAME_STRUCT(fp) \ + ((struct scm_vm_frame *) SCM_FRAME_DATA_ADDRESS (fp)) -#define SCM_FRAME_DATA_ADDRESS(fp) (fp - 4) +#define SCM_FRAME_DATA_ADDRESS(fp) (((SCM *) (fp)) - 4) #define SCM_FRAME_STACK_ADDRESS(fp) (SCM_FRAME_STRUCT (fp)->stack) #define SCM_FRAME_UPPER_ADDRESS(fp) ((SCM*)&SCM_FRAME_STRUCT (fp)->return_address) #define SCM_FRAME_LOWER_ADDRESS(fp) ((SCM*)SCM_FRAME_STRUCT (fp)) @@ -91,7 +92,7 @@ struct scm_vm_frame #define SCM_FRAME_DYNAMIC_LINK(fp) \ (SCM_FRAME_STRUCT (fp)->dynamic_link) #define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) \ - SCM_FRAME_STRUCT (fp)->dynamic_link = (dl) + SCM_FRAME_DYNAMIC_LINK (fp) = (dl) #define SCM_FRAME_VARIABLE(fp,i) \ (SCM_FRAME_STRUCT (fp)->stack[i]) #define SCM_FRAME_PROGRAM(fp) \ |