1.0.34.15: Fix DERIVE-TYPE optimizer for %UNARY-ROUND
authorPaul Khuong <pvk@pvk.ca>
Sat, 30 Jan 2010 16:16:13 +0000 (16:16 +0000)
committerPaul Khuong <pvk@pvk.ca>
Sat, 30 Jan 2010 16:16:13 +0000 (16:16 +0000)
Handle exclusive bounds conservatively by treating them as inclusive
(instead of dying).

src/compiler/srctran.lisp
version.lisp-expr

index 22186ad..72c2695 100644 (file)
                            (let* ((interval (numeric-type->interval n))
                                   (low      (interval-low interval))
                                   (high     (interval-high interval)))
+                             (when (consp low)
+                               (setf low (car low)))
+                             (when (consp high)
+                               (setf high (car high)))
                              (specifier-type
                               `(integer ,(if low
                                              (round low)
index 51d004e..8c7124e 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.34.14"
+"1.0.34.15"