Ignore:
Timestamp:
Jan 21, 2018, 12:10:09 AM (6 years ago)
Author:
coas-nagasima
Message:

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

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_nan.h

    r321 r331  
    5454
    5555#define mrb_tt(o)       ((enum mrb_vtype)(((o).value.ttt & 0xfc000)>>14)-1)
    56 #define mrb_type(o)     ((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT)
     56#define mrb_type(o)     (enum mrb_vtype)((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT)
    5757#define mrb_ptr(o)      ((void*)((((uintptr_t)0x3fffffffffff)&((uintptr_t)((o).value.p)))<<2))
    5858#define mrb_float(o)    (o).f
     
    6161#define mrb_symbol(o)   (o).value.sym
    6262
     63#ifdef MRB_64BIT
     64#define BOXNAN_SHIFT_LONG_POINTER(v) (((uintptr_t)(v)>>34)&0x3fff)
     65#else
     66#define BOXNAN_SHIFT_LONG_POINTER(v) 0
     67#endif
     68
    6369#define BOXNAN_SET_VALUE(o, tt, attr, v) do {\
    64   switch (tt) {\
    65   case MRB_TT_FALSE:\
    66   case MRB_TT_TRUE:\
    67   case MRB_TT_UNDEF:\
    68   case MRB_TT_FIXNUM:\
    69   case MRB_TT_SYMBOL: (o).attr = (v); break;\
    70   default: (o).value.i = 0; (o).value.p = (void*)((uintptr_t)(o).value.p | (((uintptr_t)(v))>>2)); break;\
    71   }\
    72   (o).value.ttt = (0xfff00000|(((tt)+1)<<14));\
     70  (o).attr = (v);\
     71  (o).value.ttt = 0xfff00000 | (((tt)+1)<<14);\
     72} while (0)
     73
     74#define BOXNAN_SET_OBJ_VALUE(o, tt, v) do {\
     75  (o).value.p = (void*)((uintptr_t)(v)>>2);\
     76  (o).value.ttt = (0xfff00000|(((tt)+1)<<14)|BOXNAN_SHIFT_LONG_POINTER(v));\
    7377} while (0)
    7478
     
    7781    (r).value.ttt = 0x7ff80000; \
    7882    (r).value.i = 0; \
    79   } else { \
     83  } \
     84  else { \
    8085    (r).f = v; \
    8186  }} while(0)
     
    8792#define SET_INT_VALUE(r,n) BOXNAN_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n))
    8893#define SET_SYM_VALUE(r,v) BOXNAN_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v))
    89 #define SET_OBJ_VALUE(r,v) BOXNAN_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v))
    90 #define SET_CPTR_VALUE(mrb,r,v) BOXNAN_SET_VALUE(r, MRB_TT_CPTR, value.p, v)
     94#define SET_OBJ_VALUE(r,v) BOXNAN_SET_OBJ_VALUE(r, (((struct RObject*)(v))->tt), (v))
     95#define SET_CPTR_VALUE(mrb,r,v) BOXNAN_SET_OBJ_VALUE(r, MRB_TT_CPTR, v)
    9196#define SET_UNDEF_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_UNDEF, value.i, 0)
    9297
Note: See TracChangeset for help on using the changeset viewer.