- Timestamp:
- Jan 21, 2018, 12:10:09 AM (6 years ago)
- Location:
- EcnlProtoTool/trunk/mruby-1.3.0
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mruby-1.3.0/include/mruby/boxing_word.h
r321 r331 10 10 #if defined(MRB_INT16) 11 11 # error MRB_INT16 is too small for MRB_WORD_BOXING. 12 #endif 13 14 #if defined(MRB_INT64) && !defined(MRB_64BIT) 15 #error MRB_INT64 cannot be used with MRB_WORD_BOXING in 32-bit mode. 12 16 #endif 13 17 … … 63 67 #define mrb_cptr(o) (o).value.vp->p 64 68 #define mrb_float(o) (o).value.fp->f 65 #define mrb_fixnum(o) ( o).value.i69 #define mrb_fixnum(o) ((mrb_int)(o).value.i) 66 70 #define mrb_symbol(o) (o).value.sym 67 71 … … 92 96 #define mrb_nil_p(o) ((o).w == MRB_Qnil) 93 97 94 #define BOXWORD_SET_VALUE(o, ttt, attr, v) do { \98 #define BOXWORD_SET_VALUE(o, ttt, attr, v) do { \ 95 99 switch (ttt) {\ 96 100 case MRB_TT_FALSE: (o).w = (v) ? MRB_Qfalse : MRB_Qnil; break;\ 97 101 case MRB_TT_TRUE: (o).w = MRB_Qtrue; break;\ 98 102 case MRB_TT_UNDEF: (o).w = MRB_Qundef; break;\ 99 case MRB_TT_FIXNUM: (o). value.i_flag = MRB_FIXNUM_FLAG; (o).attr = (v); break;\100 case MRB_TT_SYMBOL: (o). value.sym_flag = MRB_SYMBOL_FLAG; (o).attr = (v); break;\103 case MRB_TT_FIXNUM: (o).w = 0;(o).value.i_flag = MRB_FIXNUM_FLAG; (o).attr = (v); break;\ 104 case MRB_TT_SYMBOL: (o).w = 0;(o).value.sym_flag = MRB_SYMBOL_FLAG; (o).attr = (v); break;\ 101 105 default: (o).w = 0; (o).attr = (v); if ((o).value.bp) (o).value.bp->tt = ttt; break;\ 102 106 }\
Note:
See TracChangeset
for help on using the changeset viewer.