mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
C++ compilability -- make mrb_object() macro return an RObject, not void
This commit is contained in:
+3
-3
@@ -81,7 +81,7 @@ typedef struct mrb_value {
|
||||
#define mrb_fixnum(o) (o).value.i
|
||||
#define mrb_float(o) (o).value.f
|
||||
#define mrb_symbol(o) (o).value.sym
|
||||
#define mrb_object(o) (o).value.p
|
||||
#define mrb_object(o) ((struct RObject *) (o).value.p)
|
||||
#define FIXNUM_P(o) ((o).tt == MRB_TT_FIXNUM)
|
||||
#define UNDEF_P(o) ((o).tt == MRB_TT_UNDEF)
|
||||
|
||||
@@ -368,11 +368,11 @@ int mrb_gc_arena_save(mrb_state*);
|
||||
void mrb_gc_arena_restore(mrb_state*,int);
|
||||
void mrb_gc_mark(mrb_state*,struct RBasic*);
|
||||
#define mrb_gc_mark_value(mrb,val) do {\
|
||||
if ((val).tt >= MRB_TT_OBJECT) mrb_gc_mark((mrb), mrb_object(val));\
|
||||
if ((val).tt >= MRB_TT_OBJECT) mrb_gc_mark((mrb), (struct RBasic *) mrb_object(val));\
|
||||
} while (0);
|
||||
void mrb_field_write_barrier(mrb_state *, struct RBasic*, struct RBasic*);
|
||||
#define mrb_field_write_barrier_value(mrb, obj, val) do{\
|
||||
if ((val.tt >= MRB_TT_OBJECT)) mrb_field_write_barrier((mrb), (obj), mrb_object(val));\
|
||||
if ((val.tt >= MRB_TT_OBJECT)) mrb_field_write_barrier((mrb), (obj), (struct RBasic *) mrb_object(val));\
|
||||
} while (0);
|
||||
void mrb_write_barrier(mrb_state *, struct RBasic*);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user