type of mrb_type() should be enum mrb_vtype when MRB_NAN_BOXING is on

This commit is contained in:
Yukihiro "Matz" Matsumoto
2014-03-15 14:30:17 +09:00
parent fc75cff14e
commit ddd1bfda02
+1 -1
View File
@@ -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))