summaryrefslogtreecommitdiff
path: root/libguile/tags.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-09-15 12:28:17 -0700
committerAndy Wingo <wingo@pobox.com>2011-09-15 12:28:17 -0700
commit25f4a88032f51cecdf8b0147c8a2d0a4574972fa (patch)
tree3f853f4983f0e9b0724c96ee2f79840302a5c298 /libguile/tags.h
parent75917d62434b103a89fc65bde66a1a3e97b598a1 (diff)
downloadguile-25f4a88032f51cecdf8b0147c8a2d0a4574972fa.tar.gz
Revert "SCM is a union"
This reverts commit 8787d7a17029a8add20bb8e652ec744bc5d4e6c4.
Diffstat (limited to 'libguile/tags.h')
-rw-r--r--libguile/tags.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/tags.h b/libguile/tags.h
index 35b5d17c2..c90838ef1 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 { scm_t_bits n; } SCM;
-# define SCM_UNPACK(x) ((x).n)
-# define SCM_PACK(x) ((SCM) { (scm_t_bits) (x) })
+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) } })
#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.