Fix make-array transforms.
[sbcl.git] / tests / step.impure.lisp
index 4ee3952..9b48dc2 100644 (file)
@@ -15,7 +15,7 @@
 
 ;; No stepper support on some platforms.
 #-(or x86 x86-64 ppc sparc mips)
-(sb-ext:quit :unix-status 104)
+(sb-ext:exit :code 104)
 
 (defun fib (x)
   (declare (optimize debug))
 
 (defun test-step-into ()
   (let* ((results nil)
-         (expected '(("(< X 2)" :unknown)
-                     ("(- X 1)" :unknown)
-                     ("(FIB (1- X))" (2))
-                     ("(< X 2)" :unknown)
-                     ("(- X 1)" :unknown)
-                     ("(FIB (1- X))" (1))
-                     ("(< X 2)" :unknown)
-                     ("(- X 2)" :unknown)
-                     ("(FIB (- X 2))" (0))
-                     ("(< X 2)" :unknown)
-                     ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)
-                     ("(- X 2)" :unknown)
-                     ("(FIB (- X 2))" (1))
-                     ("(< X 2)" :unknown)
-                     ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)))
+         ;; The generic-< VOP on x86oids doesn't emit a full call
+         (expected
+          #-(or x86 x86-64)
+           '(("(< X 2)" :unknown)
+             ("(- X 1)" :unknown)
+             ("(FIB (1- X))" (2))
+             ("(< X 2)" :unknown)
+             ("(- X 1)" :unknown)
+             ("(FIB (1- X))" (1))
+             ("(< X 2)" :unknown)
+             ("(- X 2)" :unknown)
+             ("(FIB (- X 2))" (0))
+             ("(< X 2)" :unknown)
+             ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)
+             ("(- X 2)" :unknown)
+             ("(FIB (- X 2))" (1))
+             ("(< X 2)" :unknown)
+             ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown))
+           #+(or x86 x86-64)
+           '(("(- X 1)" :unknown)
+             ("(FIB (1- X))" (2))
+             ("(- X 1)" :unknown)
+             ("(FIB (1- X))" (1))
+             ("(- X 2)" :unknown)
+             ("(FIB (- X 2))" (0))
+             ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)
+             ("(- X 2)" :unknown)
+             ("(FIB (- X 2))" (1))
+             ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)))
          (*stepper-hook* (lambda (condition)
                            (typecase condition
                              (step-form-condition
 
 (defun test-step-next ()
   (let* ((results nil)
-         (expected '(("(< X 2)" :unknown)
-                     ("(- X 1)" :unknown)
-                     ("(FIB (1- X))" (2))
-                     ("(< X 2)" :unknown)
-                     ("(- X 1)" :unknown)
-                     ("(FIB (1- X))" (1))
-                     ("(- X 2)" :unknown)
-                     ("(FIB (- X 2))" (0))
-                     ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)
-                     ("(- X 2)" :unknown)
-                     ("(FIB (- X 2))" (1))
-                     ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)))
+         (expected
+          #-(or x86 x86-64)
+          '(("(< X 2)" :unknown)
+            ("(- X 1)" :unknown)
+            ("(FIB (1- X))" (2))
+            ("(< X 2)" :unknown)
+            ("(- X 1)" :unknown)
+            ("(FIB (1- X))" (1))
+            ("(- X 2)" :unknown)
+            ("(FIB (- X 2))" (0))
+            ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)
+            ("(- X 2)" :unknown)
+            ("(FIB (- X 2))" (1))
+            ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown))
+          #+(or x86 x86-64)
+          '(("(- X 1)" :unknown)
+            ("(FIB (1- X))" (2))
+            ("(- X 1)" :unknown)
+            ("(FIB (1- X))" (1))
+            ("(- X 2)" :unknown)
+            ("(FIB (- X 2))" (0))
+            ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)
+            ("(- X 2)" :unknown)
+            ("(FIB (- X 2))" (1))
+            ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)))
          (count 0)
          (*stepper-hook* (lambda (condition)
                            (typecase condition
 
 (defun test-step-out ()
   (let* ((results nil)
-         (expected '(("(< X 2)" :unknown)
-                     ("(- X 1)" :unknown)
-                     ("(FIB (1- X))" (2))
-                     ("(< X 2)" :unknown)
-                     ("(- X 2)" :unknown)
-                     ("(FIB (- X 2))" (1))
-                     ("(< X 2)" :unknown)
-                     ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)))
+         (expected
+          #-(or x86 x86-64)
+          '(("(< X 2)" :unknown)
+            ("(- X 1)" :unknown)
+            ("(FIB (1- X))" (2))
+            ("(< X 2)" :unknown)
+            ("(- X 2)" :unknown)
+            ("(FIB (- X 2))" (1))
+            ("(< X 2)" :unknown)
+            ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown))
+          #+(or x86 x86-64)
+          '(("(- X 1)" :unknown)
+            ("(FIB (1- X))" (2))
+            ("(- X 1)" :unknown)
+            ("(FIB (1- X))" (1))
+            ("(- X 2)" :unknown)
+            ("(FIB (- X 2))" (1))
+            ("(+ (FIB (1- X)) (FIB (- X 2)))" :unknown)))
          (count 0)
          (*stepper-hook* (lambda (condition)
                            (typecase condition
 
 (defun test-step-start-from-break ()
   (let* ((results nil)
-         (expected '(("(- X 2)" :unknown)
-                     ("(FIB-BREAK (- X 2))" (0))
-                     ("(< X 2)" :unknown)
-                     ("(+ (FIB-BREAK (1- X)) (FIB-BREAK (- X 2)))" :unknown)
-                     ("(- X 2)" :unknown)
-                     ("(FIB-BREAK (- X 2))" (1))
-                     ("(< X 2)" :unknown)
-                     ("(+ (FIB-BREAK (1- X)) (FIB-BREAK (- X 2)))" :unknown)))
+         (expected
+          #-(or x86 x86-64)
+          '(("(- X 2)" :unknown)
+            ("(FIB-BREAK (- X 2))" (0))
+            ("(< X 2)" :unknown)
+            ("(+ (FIB-BREAK (1- X)) (FIB-BREAK (- X 2)))" :unknown)
+            ("(- X 2)" :unknown)
+            ("(FIB-BREAK (- X 2))" (1))
+            ("(< X 2)" :unknown)
+            ("(+ (FIB-BREAK (1- X)) (FIB-BREAK (- X 2)))" :unknown))
+          #+(or x86 x86-64)
+          '(("(- X 2)" :unknown)
+            ("(FIB-BREAK (- X 2))" (0))
+            ("(+ (FIB-BREAK (1- X)) (FIB-BREAK (- X 2)))" :unknown)
+            ("(- X 2)" :unknown)
+            ("(FIB-BREAK (- X 2))" (1))
+            ("(+ (FIB-BREAK (1- X)) (FIB-BREAK (- X 2)))" :unknown)))
          (count 0)
          (*stepper-hook* (lambda (condition)
                            (typecase condition
                                 (incf count)
                                 (invoke-restart 'step-next)))))))
     (step (fib 3))
-    (assert (= count 6))))
+    (assert (= count #-(or x86 x86-64) 6 #+(or x86 x86-64) 5))))
 
 (defun test-step-backtrace ()
   (let* ((*stepper-hook* (lambda (condition)