X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffloat-tran.lisp;h=b05138a033b8886e9846cdcb7da1be420ca6bc4e;hb=6bbc22725d3bf663726ed9adca544e39316364a6;hp=a4672e5283a0036ad7e0092e47dddb477106df5e;hpb=9be4fffc49a9a3f4e25817dd436a380ac562c3ad;p=sbcl.git diff --git a/src/compiler/float-tran.lisp b/src/compiler/float-tran.lisp index a4672e5..b05138a 100644 --- a/src/compiler/float-tran.lisp +++ b/src/compiler/float-tran.lisp @@ -15,8 +15,8 @@ ;;;; coercions -(defknown %single-float (real) single-float (movable foldable flushable)) -(defknown %double-float (real) double-float (movable foldable flushable)) +(defknown %single-float (real) single-float (movable foldable)) +(defknown %double-float (real) double-float (movable foldable)) (deftransform float ((n f) (* single-float) *) '(%single-float n)) @@ -286,7 +286,10 @@ (specifier-type `(,',type ,(or lo '*) ,(or hi '*))))) (defoptimizer (,fun derive-type) ((num)) - (one-arg-derive-type num #',aux-name #',fun)))))) + (handler-case + (one-arg-derive-type num #',aux-name #',fun) + (type-error () + nil))))))) (frob %single-float single-float most-negative-single-float most-positive-single-float) (frob %double-float double-float