0.9.10.15:
authorAlexey Dejneka <adejneka@comail.ru>
Mon, 6 Mar 2006 04:33:26 +0000 (04:33 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Mon, 6 Mar 2006 04:33:26 +0000 (04:33 +0000)
        Fix typo in (defconstant m-v-prog1); partially fix the bug
        in constant-folding reported by Paul F. Dietz in "New compiler
        bugs", sbcl-devel 2006-03-05.

BUGS
src/compiler/constantp.lisp
tests/compiler.pure.lisp
version.lisp-expr

diff --git a/BUGS b/BUGS
index ed32c27..704bd06 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -2153,3 +2153,7 @@ WORKAROUND:
 
 399: LOOP FOR ACROSS and full call to DATA-VECTOR-REF
   (fixed in sbcl-0.9.9.x)
+
+400: "aggressive constant folding"
+    (compile '(lambda () (the integer (/ 1 0))))
+  signals an error.
index 721e594..97e27a9 100644 (file)
@@ -195,7 +195,7 @@ constantness of the FORM in ENVIRONMENT."
 
  (defconstantp multiple-value-prog1 (first-form &body forms)
    :test (every #'constantp* (cons first-form forms))
-   :test (constant-form-value* first-form))
+   :eval (constant-form-value* first-form))
 
  (defconstantp progv (symbols values &body forms)
    :test (and (constantp* symbols)
index 1a4a58c..282cdb0 100644 (file)
                                      (speed 0) (debug 1)))
                   (not (not (logbitp 0 (floor 2147483651 (min -23 0))))))))))
 
-
+;; mistyping found by random-tester
+(assert (zerop
+  (funcall
+   (compile
+    nil
+    '(lambda ()
+      (declare (optimize (speed 1) (debug 0)
+                (space 2) (safety 0) (compilation-speed 0)))
+      (unwind-protect 0
+        (* (/ (multiple-value-prog1 -29457482 -5602513511) 1))))))))
index 92092f6..7203eff 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".)
-"0.9.10.14"
+"0.9.10.15"