summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/language/tree-il/primitives.scm1
-rw-r--r--test-suite/tests/tree-il.test4
2 files changed, 5 insertions, 0 deletions
diff --git a/module/language/tree-il/primitives.scm b/module/language/tree-il/primitives.scm
index dc0a1457e..0c5b0855a 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -509,6 +509,7 @@
(eq? #nil v)
(symbol? v)
(and (integer? v)
+ (exact? v)
(<= v most-positive-fixnum)
(>= v most-negative-fixnum)))
(make-application src (make-primitive-ref #f 'eq?)
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index bb7f90863..0a5303703 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -107,6 +107,10 @@
(apply (primitive eq?) (const 42) (toplevel x)))
(pass-if-primitives-resolved
+ (apply (primitive equal?) (const 42.0) (toplevel x))
+ (apply (primitive equal?) (const 42.0) (toplevel x)))
+
+ (pass-if-primitives-resolved
(apply (primitive equal?) (const #nil) (toplevel x))
(apply (primitive eq?) (const #nil) (toplevel x))))