diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-06-09 23:27:44 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-06-09 23:27:44 +0900 |
| commit | a036cbea16f5c250af830794816040d19e531377 (patch) | |
| tree | cc52589e320d762e4fc8cdbc302736e6140a1538 /src | |
| parent | f1b1a8acd1c890f06cdd39bbbc3a85b3313a911d (diff) | |
| parent | 4de468e75414eb1adb3bafba19b72caba3a17044 (diff) | |
| download | mruby-a036cbea16f5c250af830794816040d19e531377.tar.gz mruby-a036cbea16f5c250af830794816040d19e531377.zip | |
Merge pull request #2373 from take-cheeze/static_assert
Add macro `mrb_static_assert`.
Diffstat (limited to 'src')
| -rw-r--r-- | src/state.c | 2 | ||||
| -rw-r--r-- | src/string.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c index ac9f88088..dc5a1481f 100644 --- a/src/state.c +++ b/src/state.c @@ -29,7 +29,7 @@ mrb_open_allocf(mrb_allocf f, void *ud) mrb_state *mrb; #ifdef MRB_NAN_BOXING - mrb_assert(sizeof(void*) == 4); + mrb_static_assert(sizeof(void*) == 4, "when using NaN boxing sizeof pointer must be 4 byte"); #endif mrb = (mrb_state *)(f)(NULL, NULL, sizeof(mrb_state), ud); diff --git a/src/string.c b/src/string.c index 0fe79e61d..734bf739a 100644 --- a/src/string.c +++ b/src/string.c @@ -2503,6 +2503,8 @@ mrb_init_string(mrb_state *mrb) { struct RClass *s; + mrb_static_assert(RSTRING_EMBED_LEN_MAX < (1 << 5), "pointer size too big for embedded string"); + s = mrb->string_class = mrb_define_class(mrb, "String", mrb->object_class); /* 15.2.10 */ MRB_SET_INSTANCE_TT(s, MRB_TT_STRING); |
