X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ffloat.pure.lisp;h=f0d9a5dc064f42379864c935622599af36ebff43;hb=371577a214ce2659c271279ad48e4c42e1c0c93e;hp=bea74a83a79e55d746d6ff1e889b654f774c7522;hpb=cb2be4b6d03412e2e547a8b051e43d5446792b7c;p=sbcl.git diff --git a/tests/float.pure.lisp b/tests/float.pure.lisp index bea74a8..f0d9a5d 100644 --- a/tests/float.pure.lisp +++ b/tests/float.pure.lisp @@ -233,3 +233,14 @@ (assert (eql 0.0d0 (funcall f 123.0d0 0.0))) (assert (eql 0.0d0 (funcall f 123.0d0 0.0d0))) (assert (eql 0.0d0 (funcall f 123.0 0.0d0))))) + +;; Bug reported by Eric Marsden on July 15 2009. The compiler +;; used not to constant fold calls with arguments of type +;; (EQL foo). +(with-test (:name :eql-type-constant-fold) + (assert (equal '(FUNCTION (T) (VALUES (MEMBER T) &OPTIONAL)) + (sb-kernel:%simple-fun-type + (compile nil `(lambda (x) + (eql #c(1.0 2.0) + (the (eql #c(1.0 2.0)) + x))))))))