X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffloat.lisp;h=3e8f9f54d8b55eb589b75299de00c76acdbe1110;hb=7dd568fb64927be78556ac27f1f0dc60e79cf942;hp=3af6c79dcaac4e0409bcb8eb1e2bd4c911df4b8f;hpb=31361af9eb64344f521abbb245ea784c76c746e5;p=sbcl.git diff --git a/src/code/float.lisp b/src/code/float.lisp index 3af6c79..3e8f9f5 100644 --- a/src/code/float.lisp +++ b/src/code/float.lisp @@ -120,8 +120,10 @@ ;;; We don't want to do these DEFCONSTANTs at cross-compilation time, ;;; because the cross-compilation host might not support floating -;;; point infinities. -(eval-when (:load-toplevel :execute) +;;; point infinities. Putting them inside a LET remove +;;; top-level-formness, so that any EVAL-WHEN trickiness in the +;;; DEFCONSTANT forms is suppressed. +(let () (defconstant single-float-positive-infinity (single-from-bits 0 (1+ sb!vm:single-float-normal-exponent-max) 0)) (defconstant short-float-positive-infinity single-float-positive-infinity) @@ -144,7 +146,7 @@ (defconstant long-float-negative-infinity (long-from-bits 1 (1+ sb!vm:long-float-normal-exponent-max) (ash sb!vm:long-float-hidden-bit 32))) -) ; EVAL-WHEN +) ; LET-to-suppress-possible-EVAL-WHENs (defconstant single-float-epsilon (single-from-bits 0 (- sb!vm:single-float-bias