X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fsrctran.lisp;h=d2e302881c0b3ebd09c6905c130c1fb8caf8d387;hb=31f072311935e32751508ecf824905c6b58a1d95;hp=f5e4293dfffc0d0476461d2d3683f6be43030734;hpb=1b775f07606e4ea946b07794ed60469f45f2f417;p=sbcl.git diff --git a/src/compiler/srctran.lisp b/src/compiler/srctran.lisp index f5e4293..d2e3028 100644 --- a/src/compiler/srctran.lisp +++ b/src/compiler/srctran.lisp @@ -317,10 +317,12 @@ (defmacro safely-binop (op x y) `(cond ((typep ,x 'single-float) - (if (<= most-negative-single-float ,y most-positive-single-float) + (if (or (typep ,y 'single-float) + (<= most-negative-single-float ,y most-positive-single-float)) (,op ,x ,y))) ((typep ,x 'double-float) - (if (<= most-negative-double-float ,y most-positive-double-float) + (if (or (typep ,y 'double-float) + (<= most-negative-double-float ,y most-positive-double-float)) (,op ,x ,y))) ((typep ,y 'single-float) (if (<= most-negative-single-float ,x most-positive-single-float)