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

parent fc75cff1
...@@ -158,7 +158,7 @@ typedef struct mrb_value { ...@@ -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 order to get enough bit size to save TT, all pointers are shifted 2 bits
* in the right direction. * 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_mktt(tt) (0xfff00000|((tt)<<14))
#define mrb_type(o) ((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT) #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)) #define mrb_ptr(o) ((void*)((((uintptr_t)0x3fffffffffff)&((uintptr_t)((o).value.p)))<<2))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment