summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/codegen.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/codegen.c b/src/codegen.c
index cf844b9ab..0e9ad0ebb 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -414,12 +414,14 @@ new_lit(codegen_scope *s, mrb_value val)
case MRB_TT_FLOAT:
for (i=0; i<s->irep->plen; i++) {
pv = &s->irep->pool[i];
+ if (pv->type != MRB_TT_FLOAT) continue;
if (pv->value.f == mrb_float(val)) return i;
}
break;
case MRB_TT_FIXNUM:
for (i=0; i<s->irep->plen; i++) {
pv = &s->irep->pool[i];
+ if (pv->type != MRB_TT_FIXNUM) continue;
if (pv->value.i == mrb_fixnum(val)) return i;
}
break;