summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-06-11 12:43:42 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-06-11 12:43:42 +0900
commitae288fe78dd610fe471200db0c73b00d9aca6dc0 (patch)
tree6217eb152ab5e2162567755bc69a83ce375544d4
parent4e877bc92f4faac950d2b6269cd4f8a0d153a432 (diff)
downloadmruby-ae288fe78dd610fe471200db0c73b00d9aca6dc0.tar.gz
mruby-ae288fe78dd610fe471200db0c73b00d9aca6dc0.zip
add assertion that check sizeof(void*) should be 4 bytes when MRB_NAN_BOXING is in use
-rw-r--r--src/state.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c
index 76b506d3e..34de1e45e 100644
--- a/src/state.c
+++ b/src/state.c
@@ -21,12 +21,22 @@ inspect_main(mrb_state *mrb, mrb_value mod)
return mrb_str_new(mrb, "main", 4);
}
+#ifdef MRB_NAN_BOXING
+#include <assert.h>
+#endif
+
mrb_state*
mrb_open_allocf(mrb_allocf f, void *ud)
{
static const mrb_state mrb_state_zero = { 0 };
static const struct mrb_context mrb_context_zero = { 0 };
- mrb_state *mrb = (mrb_state *)(f)(NULL, NULL, sizeof(mrb_state), ud);
+ mrb_state *mrb;
+
+#ifdef MRB_NAN_BOXING
+ assert(sizeof(void*) == 4);
+#endif
+
+ mrb = (mrb_state *)(f)(NULL, NULL, sizeof(mrb_state), ud);
if (mrb == NULL) return NULL;
*mrb = mrb_state_zero;