0.8.5.35:
authorAlexey Dejneka <adejneka@comail.ru>
Fri, 14 Nov 2003 04:49:06 +0000 (04:49 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Fri, 14 Nov 2003 04:49:06 +0000 (04:49 +0000)
        * Fix PFD bugs MISC.152, 153: be more accurate with deleted
          code in MAYBE-INFER-ITERATION-VAR-TYPE.

src/compiler/ir1opt.lisp
tests/compiler.pure.lisp
version.lisp-expr

index 921e3e8..d7bdf0e 100644 (file)
              (set-use (principal-lvar-use (set-value set)))
              (() (and (combination-p set-use)
                       (fun-info-p (combination-kind set-use))
+                      (not (node-to-be-deleted-p set-use))
                       (eq (combination-fun-source-name set-use) '+))
                :exit-if-null)
              (+-args (basic-combination-args set-use))
index ac15d8c..13aad3e 100644 (file)
                                                  (common-lisp:handler-case
                                                      (ash a (min 36 22477)))))))))
                 100000 0 0)))
+
+;;; MISC.152, 153: deleted code and iteration var type inference
+(assert (eql (funcall
+              (compile nil
+                       '(lambda (a)
+                         (block b5
+                           (let ((v1 (let ((v8 (unwind-protect 9365)))
+                                       8862008)))
+                             (*
+                              (return-from b5
+                                (labels ((%f11 (f11-1) f11-1))
+                                  (%f11 87246015)))
+                              (return-from b5
+                                (setq v1
+                                      (labels ((%f6 (f6-1 f6-2 f6-3) v1))
+                                        (dpb (unwind-protect a)
+                                             (byte 18 13)
+                                             (labels ((%f4 () 27322826))
+                                               (%f6 -2 -108626545 (%f4))))))))))))
+              -6)
+             87246015))
+
+(assert (eql (funcall
+              (compile nil
+                       '(lambda (a)
+                         (if (logbitp 3
+                                      (case -2
+                                        ((-96879 -1035 -57680 -106404 -94516 -125088)
+                                         (unwind-protect 90309179))
+                                        ((-20811 -86901 -9368 -98520 -71594)
+                                         (let ((v9 (unwind-protect 136707)))
+                                           (block b3
+                                             (setq v9
+                                                   (let ((v4 (return-from b3 v9)))
+                                                     (- (ignore-errors (return-from b3 v4))))))))
+                                        (t -50)))
+                             -20343
+                             a)))
+              0)
+             -20343))
index c812973..4a41772 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.8.5.34"
+"0.8.5.35"