Remove workaround for 9.2 compiler bug.
authorChris Hanson <org/chris-hanson/cph>
Fri, 16 Nov 2018 07:26:21 +0000 (23:26 -0800)
committerChris Hanson <org/chris-hanson/cph>
Fri, 16 Nov 2018 07:26:21 +0000 (23:26 -0800)
src/runtime/floenv.scm

index d4d478ee372a2f6062fc683f4c6401092e191cd0..3c78ef5b590e8619829966cb3bacb7fea41c6883 100644 (file)
@@ -362,30 +362,27 @@ USA.
 (define flo:nan.0)
 (define flo:+inf.0)
 (define flo:-inf.0)
-;;; ZERO can be eliminated after 9.3 is released.  It works around
-;;; overly-aggressive constant folding in SF and LIAR.
-(let ((zero (lambda () (identity-procedure 0.))))
-  (if (flo:have-trap-enable/disable?)
-      (begin
-       (set! flo:nan.0
-             (named-lambda (flo:nan.0)
-               (flo:with-exceptions-untrapped (flo:exception:invalid-operation)
-                 (lambda ()
-                   (flo:/ 0. (zero))))))
-       (set! flo:+inf.0
-             (named-lambda (flo:+inf.0)
-               (flo:with-exceptions-untrapped (flo:exception:divide-by-zero)
-                 (lambda ()
-                   (flo:/ +1. (zero))))))
-       (set! flo:-inf.0
-             (named-lambda (flo:-inf.0)
-               (flo:with-exceptions-untrapped (flo:exception:divide-by-zero)
-                 (lambda ()
-                   (flo:/ -1. (zero))))))
-       unspecific)
-      ;; This works on macOS.  YMMV.
-      (begin
-       (set! flo:nan.0 (named-lambda (flo:nan.0) (flo:/ 0. (zero))))
-       (set! flo:+inf.0 (named-lambda (flo:+inf.0) (flo:/ +1. (zero))))
-       (set! flo:-inf.0 (named-lambda (flo:-inf.0) (flo:/ -1. (zero))))
-       unspecific)))
\ No newline at end of file
+(if (flo:have-trap-enable/disable?)
+    (begin
+      (set! flo:nan.0
+           (named-lambda (flo:nan.0)
+             (flo:with-exceptions-untrapped (flo:exception:invalid-operation)
+               (lambda ()
+                 (flo:/ 0. 0.)))))
+      (set! flo:+inf.0
+           (named-lambda (flo:+inf.0)
+             (flo:with-exceptions-untrapped (flo:exception:divide-by-zero)
+               (lambda ()
+                 (flo:/ +1. 0.)))))
+      (set! flo:-inf.0
+           (named-lambda (flo:-inf.0)
+             (flo:with-exceptions-untrapped (flo:exception:divide-by-zero)
+               (lambda ()
+                 (flo:/ -1. 0.)))))
+      unspecific)
+    ;; This works on macOS.  YMMV.
+    (begin
+      (set! flo:nan.0 (named-lambda (flo:nan.0) (flo:/ 0. 0.)))
+      (set! flo:+inf.0 (named-lambda (flo:+inf.0) (flo:/ +1. 0.)))
+      (set! flo:-inf.0 (named-lambda (flo:-inf.0) (flo:/ -1. 0.)))
+      unspecific))
\ No newline at end of file