summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby/value.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/mruby/value.h b/include/mruby/value.h
index ccc30357b..5df5b6a24 100644
--- a/include/mruby/value.h
+++ b/include/mruby/value.h
@@ -158,7 +158,7 @@ typedef struct mrb_value {
* In order to get enough bit size to save TT, all pointers are shifted 2 bits
* in the right direction.
*/
-#define mrb_tt(o) (((o).value.ttt & 0xfc000)>>14)
+#define mrb_tt(o) ((enum mrb_vtype)(((o).value.ttt & 0xfc000)>>14))
#define mrb_mktt(tt) (0xfff00000|((tt)<<14))
#define mrb_type(o) ((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT)
#define mrb_ptr(o) ((void*)((((uintptr_t)0x3fffffffffff)&((uintptr_t)((o).value.p)))<<2))