summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/codedump.c2
-rw-r--r--src/dump.c2
-rw-r--r--src/load.c4
-rw-r--r--src/numeric.c2
4 files changed, 8 insertions, 2 deletions
diff --git a/src/codedump.c b/src/codedump.c
index fd376c20b..4f793b753 100644
--- a/src/codedump.c
+++ b/src/codedump.c
@@ -141,7 +141,9 @@ codedump(mrb_state *mrb, const mrb_irep *irep)
op_loadl:
switch (irep->pool[b].tt) {
case IREP_TT_FLOAT:
+#ifndef MRB_NO_FLOAT
printf("OP_LOADL\tR%d\tL(%d)\t; %f", a, b, (double)irep->pool[b].u.f);
+#endif
break;
case IREP_TT_INT32:
printf("OP_LOADL\tR%d\tL(%d)\t; %" PRId32, a, b, irep->pool[b].u.i32);
diff --git a/src/dump.c b/src/dump.c
index 76d9fe1bc..a79df597b 100644
--- a/src/dump.c
+++ b/src/dump.c
@@ -964,12 +964,14 @@ dump_pool(mrb_state *mrb, const mrb_pool_value *p, FILE *fp)
fprintf(fp, "{IREP_TT_INT32, {.i32=%" PRId32 "}},\n", p->u.i32);
break;
case IREP_TT_FLOAT:
+#ifndef MRB_NO_FLOAT
if (p->u.f == 0) {
fprintf(fp, "{IREP_TT_FLOAT, {.f=%#.1f}},\n", p->u.f);
}
else {
fprintf(fp, "{IREP_TT_FLOAT, {.f=" MRB_FLOAT_FMT "}},\n", p->u.f);
}
+#endif
break;
}
}
diff --git a/src/load.c b/src/load.c
index 2489f8e04..0bd7399ee 100644
--- a/src/load.c
+++ b/src/load.c
@@ -649,10 +649,12 @@ load_irep(mrb_state *mrb, mrb_irep *irep, mrbc_context *c)
MRB_API mrb_value
mrb_load_irep_cxt(mrb_state *mrb, const uint8_t *bin, mrbc_context *c)
{
- struct RData *irep_obj = mrb_data_object_alloc(mrb, mrb->object_class, NULL, &tempirep_type);
+ struct RData *irep_obj;
mrb_irep *irep = mrb_read_irep(mrb, bin);
mrb_value ret;
+ if (!irep) return mrb_undef_value();
+ irep_obj = mrb_data_object_alloc(mrb, mrb->object_class, NULL, &tempirep_type);
irep_obj->data = irep;
mrb_irep_incref(mrb, irep);
ret = load_irep(mrb, irep, c);
diff --git a/src/numeric.c b/src/numeric.c
index a16b57dc9..ab39bd463 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -1697,7 +1697,7 @@ mrb_init_numeric(mrb_state *mrb)
mrb_define_method(mrb, fl, "eql?", flo_eql, MRB_ARGS_REQ(1)); /* 15.2.8.3.16 */
mrb_define_method(mrb, fl, "to_s", flo_to_s, MRB_ARGS_NONE()); /* 15.2.9.3.16(x) */
- mrb_define_method(mrb, fl, "inspect", flo_to_s , MRB_ARGS_NONE());
+ mrb_define_method(mrb, fl, "inspect", flo_to_s, MRB_ARGS_NONE());
mrb_define_method(mrb, fl, "nan?", flo_nan_p, MRB_ARGS_NONE());
#ifdef INFINITY