X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffloat-tran.lisp;h=b05138a033b8886e9846cdcb7da1be420ca6bc4e;hb=9b1fade83db8453b75b8c7380eb12ce41b5b889c;hp=a4672e5283a0036ad7e0092e47dddb477106df5e;hpb=1cfea5d9f744f2d10bcf69c3eeb2d99a3c5ad8bc;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