1.0.28.77: fix test failures on PPC and elsewhere
authorNikodemus Siivola <nikodemus@random-state.net>
Thu, 4 Jun 2009 11:28:34 +0000 (11:28 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Thu, 4 Jun 2009 11:28:34 +0000 (11:28 +0000)
* Most of the failures were test that cannot pass due to missing
  bits of DX implementation -- stack allocatable vectors and
  fixed-alloc.

* Mark backtrace test 353 as expected to fail on PPC as well.

* Don't declare *HANDLER-CLUSTERS* as dynamic-extent on platforms
  that do not support DX fixed-alloc, since it will just give
  a spurious compiler note.

src/code/defboot.lisp
tests/debug.impure.lisp
tests/dynamic-extent.impure.lisp
version.lisp-expr

index ac72b11..2ad6f6f 100644 (file)
@@ -617,6 +617,9 @@ evaluated as a PROGN."
               (cons (list ,@(mapcar (lambda (x) `(cons ',(car x) ,(cadr x)))
                                     mapped-bindings))
                     *handler-clusters*)))
+         ;; KLUDGE: Only on platforms with DX FIXED-ALLOC. FIXME: Add a
+         ;; feature for that, so we can conditionalize on it neatly.
+         #!+(or hppa mips x86 x86-64)
          (declare (truly-dynamic-extent *handler-clusters*))
          (progn ,form)))))
 
index 7a2d913..8ba4e91 100644 (file)
               ;; the presence of the IR1 stepper instrumentation (and
               ;; is thus again failing now that the instrumentation is
               ;; no more).
-              :fails-on '(or :x86 :x86-64 :alpha :mips))
+              :fails-on '(or :x86 :x86-64 :alpha :mips :ppc))
     (assert (verify-backtrace
              (lambda () (test #'not-optimized))
              (list *undefined-function-frame*
index 4c183bb..0d1992d 100644 (file)
   (assert-no-consing (test-let-var-subst2 17))
   (assert-no-consing (test-lvar-subst 11))
   (assert-no-consing (dx-value-cell 13))
-  (assert-no-consing (cons-on-stack 42))
-  (assert-no-consing (force-make-array-on-stack 128))
-  (assert-no-consing (make-array-on-stack-1))
-  (assert-no-consing (make-array-on-stack-2 5 '(1 2.0 3 4.0 5)))
-  (assert-no-consing (make-array-on-stack-3 9 8 7))
-  (assert-no-consing (make-array-on-stack-4))
-  #+nil
-  (assert-no-consing (make-array-on-stack-5))
-  (assert-no-consing (vector-on-stack :x :y))
-  (assert-no-consing (make-foo1-on-stack 123))
-  (assert-no-consing (nested-good 42))
+  ;; Only for platforms with DX FIXED-ALLOC
+  #+(or hppa mips x86 x86-64)
+  (progn
+    (assert-no-consing (cons-on-stack 42))
+    (assert-no-consing (make-foo1-on-stack 123))
+    (assert-no-consing (nested-good 42))
+    (assert-no-consing (nested-dx-conses))
+    (assert-no-consing (dx-handler-bind 2))
+    (assert-no-consing (dx-handler-case 2)))
+  ;; Only for platforms with DX ALLOCATE-VECTOR
+  #+(or hppa mips x86 x86-64)
+  (progn
+    (assert-no-consing (force-make-array-on-stack 128))
+    (assert-no-consing (make-array-on-stack-1))
+    (assert-no-consing (make-array-on-stack-2 5 '(1 2.0 3 4.0 5)))
+    (assert-no-consing (make-array-on-stack-3 9 8 7))
+    (assert-no-consing (make-array-on-stack-4))
+    #+nil
+    (assert-no-consing (make-array-on-stack-5))
+    (assert-no-consing (vector-on-stack :x :y)))
   (#+raw-instance-init-vops assert-no-consing
    #-raw-instance-init-vops progn
    (make-foo2-on-stack 1.24 1.23d0))
   (#+raw-instance-init-vops assert-no-consing
    #-raw-instance-init-vops progn
    (make-foo3-on-stack))
-  (assert-no-consing (nested-dx-conses))
   (assert-no-consing (nested-dx-lists))
   (assert-consing (nested-dx-not-used *a-cons*))
   (assert-no-consing (nested-evil-dx-used *a-cons*))
   (assert-no-consing (multiple-dx-uses))
-  (assert-no-consing (dx-handler-bind 2))
-  (assert-no-consing (dx-handler-case 2))
   ;; Not strictly DX..
   (assert-no-consing (test-hash-table))
   #+sb-thread
   (let ((a (make-array 11 :initial-element 0)))
     (declare (dynamic-extent a))
     (assert (every (lambda (x) (eql x 0)) a))))
-(assert-no-consing (bdowning-2005-iv-16))
+(with-test (:name :bdowning-2005-iv-16)
+  #+(or hppa mips x86 x86-64)
+  (assert-no-consing (bdowning-2005-iv-16))
+  (bdowning-2005-iv-16))
 
 (defun-with-dx let-converted-vars-dx-allocated-bug (x y z)
   (let* ((a (list x y z))
       (multiple-value-bind (y pos2) (read-from-string res nil nil :start pos)
         (assert (equalp f2 y))
         (assert (equalp f3 (read-from-string res nil nil :start pos2))))))
-  (assert-no-consing (assert (eql n (funcall fun nil)))))
+  #+(or hppa mips x86 x86-64)
+  (assert-no-consing (assert (eql n (funcall fun nil))))
+  (assert (eql n (funcall fun nil))))
 (macrolet ((def (n f1 f2 f3)
              (let ((name (sb-pcl::format-symbol :cl-user "DX-FLET-TEST.~A" n)))
                `(progn
index aef0c48..ef5e1fa 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.28.76"
+"1.0.28.77"