From 092896c6edca418ec503b39b89cbac2211dc8a9c Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Wed, 20 Jun 2018 09:41:26 +0200 Subject: [PATCH] Simplify SCM_IMMUTABLE_CELL macros * libguile/snarf.h (SCM_IMMUTABLE_CELL): (SCM_IMMUTABLE_DOUBLE_CELL): Simplify these macros and avoid pulling in gc.h. --- libguile/snarf.h | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/libguile/snarf.h b/libguile/snarf.h index 309014835..ff18a3ecc 100644 --- a/libguile/snarf.h +++ b/libguile/snarf.h @@ -25,7 +25,8 @@ -#include +#include +#include /* Macros for snarfing initialization actions from C source. */ @@ -91,22 +92,14 @@ DOCSTRING ^^ } #ifdef SCM_SUPPORT_STATIC_ALLOCATION #define SCM_IMMUTABLE_CELL(c_name, car, cdr) \ - static SCM_ALIGNED (8) SCM_UNUSED const scm_t_cell \ - c_name ## _raw_scell = \ - { \ - SCM_PACK (car), \ - SCM_PACK (cdr) \ - }; \ - static SCM_UNUSED const SCM c_name = SCM_PACK (& c_name ## _raw_scell) + static SCM_ALIGNED (8) const SCM c_name ## _raw [2] = \ + { SCM_PACK (car), SCM_PACK (cdr) }; \ + static SCM_UNUSED const SCM c_name = SCM_PACK (& c_name ## _raw) #define SCM_IMMUTABLE_DOUBLE_CELL(c_name, car, cbr, ccr, cdr) \ - static SCM_ALIGNED (8) SCM_UNUSED const scm_t_cell \ - c_name ## _raw_cell [2] = \ - { \ - { SCM_PACK (car), SCM_PACK (cbr) }, \ - { SCM_PACK (ccr), SCM_PACK (cdr) } \ - }; \ - static SCM_UNUSED const SCM c_name = SCM_PACK (& c_name ## _raw_cell) + static SCM_ALIGNED (8) const SCM c_name ## _raw [4] = \ + { SCM_PACK (car), SCM_PACK (cbr), SCM_PACK (ccr), SCM_PACK (cdr) }; \ + static SCM_UNUSED const SCM c_name = SCM_PACK (& c_name ## _raw) #endif /* SCM_SUPPORT_STATIC_ALLOCATION */