summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMitchell Blank Jr <[email protected]>2012-05-19 22:18:34 -0700
committerMitchell Blank Jr <[email protected]>2012-05-19 22:18:34 -0700
commit4105b595684bb9f1e176563f819de2917d0471fd (patch)
tree1c487f45408ce48c6b27487ba5b6b9c5bf7ffc01
parentc8b679bf693e0793f8b5ae505517b1d9220d4bfc (diff)
downloadmruby-4105b595684bb9f1e176563f819de2917d0471fd.tar.gz
mruby-4105b595684bb9f1e176563f819de2917d0471fd.zip
C++ compilability -- make mrb_object() macro return an RObject, not void
-rw-r--r--include/mruby.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 9e7d20351..ed5fe79d2 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -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*);