summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/mruby/array.h6
-rw-r--r--include/mruby/dump.h5
-rw-r--r--include/mruby/irep.h2
-rw-r--r--include/mruby/value.h8
4 files changed, 11 insertions, 10 deletions
diff --git a/include/mruby/array.h b/include/mruby/array.h
index da811606a..16f78f773 100644
--- a/include/mruby/array.h
+++ b/include/mruby/array.h
@@ -21,7 +21,7 @@ typedef struct mrb_shared_array {
mrb_value *ptr;
} mrb_shared_array;
-#if defined(MRB_32BIT) && defined(MRB_NO_BOXING)
+#if defined(MRB_32BIT) && defined(MRB_NO_BOXING) && !defined(MRB_USE_FLOAT32)
# define MRB_ARY_NO_EMBED
# define MRB_ARY_EMBED_LEN_MAX 0
#else
@@ -65,7 +65,7 @@ struct RArray {
#define ARY_EMBED_PTR(a) ((a)->as.ary)
#endif
-#define ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(a)->as.heap.len)
+#define ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(mrb_int)(a)->as.heap.len)
#define ARY_PTR(a) (ARY_EMBED_P(a)?ARY_EMBED_PTR(a):(a)->as.heap.ptr)
#define RARRAY_LEN(a) ARY_LEN(RARRAY(a))
#define RARRAY_PTR(a) ARY_PTR(RARRAY(a))
@@ -107,7 +107,7 @@ MRB_API mrb_value mrb_ary_new(mrb_state *mrb);
* Array[value1, value2, ...]
*
* @param mrb The mruby state reference.
- * @param size The numer of values.
+ * @param size The number of values.
* @param vals The actual values.
* @return The initialized array.
*/
diff --git a/include/mruby/dump.h b/include/mruby/dump.h
index ed0c64b1a..3c48866d9 100644
--- a/include/mruby/dump.h
+++ b/include/mruby/dump.h
@@ -16,7 +16,10 @@
*/
MRB_BEGIN_DECL
-#define DUMP_DEBUG_INFO 1
+/* flags for mrb_dump_irep{,_binary,_cfunc,_cstruct} */
+#define MRB_DUMP_DEBUG_INFO 1
+#define MRB_DUMP_STATIC 2
+#define DUMP_DEBUG_INFO MRB_DUMP_DEBUG_INFO /* deprecated */
int mrb_dump_irep(mrb_state *mrb, const mrb_irep *irep, uint8_t flags, uint8_t **bin, size_t *bin_size);
#ifndef MRB_NO_STDIO
diff --git a/include/mruby/irep.h b/include/mruby/irep.h
index 8d1648e13..640b0177f 100644
--- a/include/mruby/irep.h
+++ b/include/mruby/irep.h
@@ -31,9 +31,7 @@ typedef struct mrb_pool_value {
union {
const char *str;
int32_t i32;
-#if defined(MRB_64BIT) || defined(MRB_INT64)
int64_t i64;
-#endif
#ifndef MRB_NO_FLOAT
mrb_float f;
#endif
diff --git a/include/mruby/value.h b/include/mruby/value.h
index 293ef90a7..4831b55af 100644
--- a/include/mruby/value.h
+++ b/include/mruby/value.h
@@ -107,12 +107,12 @@ static const unsigned int IEEE754_INFINITY_BITS_SINGLE = 0x7F800000;
enum mrb_vtype {
MRB_TT_FALSE = 0,
MRB_TT_TRUE,
- MRB_TT_FLOAT,
- MRB_TT_INTEGER,
MRB_TT_SYMBOL,
MRB_TT_UNDEF,
- MRB_TT_CPTR,
MRB_TT_FREE,
+ MRB_TT_FLOAT,
+ MRB_TT_INTEGER,
+ MRB_TT_CPTR,
MRB_TT_OBJECT,
MRB_TT_CLASS,
MRB_TT_MODULE,
@@ -177,7 +177,7 @@ struct RCptr {
#endif
#ifndef mrb_immediate_p
-#define mrb_immediate_p(o) (mrb_type(o) < MRB_TT_FREE)
+#define mrb_immediate_p(o) (mrb_type(o) <= MRB_TT_CPTR)
#endif
#ifndef mrb_integer_p
#define mrb_integer_p(o) (mrb_type(o) == MRB_TT_INTEGER)