diff --git a/src/c/compiler.d b/src/c/compiler.d index 718f64c18..fc70711b7 100644 --- a/src/c/compiler.d +++ b/src/c/compiler.d @@ -1936,7 +1936,7 @@ compile_form(cl_object stmt, int flags) { cl_fixnum n; if (stmt == Cnil) { asm_op(push? OP_PUSHNIL : OP_NIL); - } else if (FIXNUMP(stmt) && (n = fix(stmt), abs(n)) <= MAX_OPARG) { + } else if (FIXNUMP(stmt) && (n = fix(stmt)) <= MAX_OPARG && n >= -MAX_OPARG) { asm_op2(push? OP_PINT : OP_INT, n); } else { asm_op2c(push? OP_PUSHQ : OP_QUOTE, stmt);