From 8787d7a17029a8add20bb8e652ec744bc5d4e6c4 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 13 May 2011 16:21:11 +0200 Subject: [PATCH] SCM is a union * libguile/tags.h (SCM): Change to simply be a union containing scm_t_bits. (SCM_PACK, SCM_UNPACK): Adapt accordingly. --- libguile/tags.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libguile/tags.h b/libguile/tags.h index c90838ef1..35b5d17c2 100644 --- a/libguile/tags.h +++ b/libguile/tags.h @@ -74,9 +74,9 @@ typedef scm_t_uintptr scm_t_bits; * desired level of type checking, be defined in several ways: */ #if (SCM_DEBUG_TYPING_STRICTNESS == 2) -typedef union SCM { struct { scm_t_bits n; } n; } SCM; -# define SCM_UNPACK(x) ((x).n.n) -# define SCM_PACK(x) ((SCM) { { (scm_t_bits) (x) } }) +typedef union SCM { scm_t_bits n; } SCM; +# define SCM_UNPACK(x) ((x).n) +# define SCM_PACK(x) ((SCM) { (scm_t_bits) (x) }) #elif (SCM_DEBUG_TYPING_STRICTNESS == 1) /* This is the default, which provides an intermediate level of compile time * type checking while still resulting in very efficient code.