(list '(flet not-optimized))
(list '(flet test) #'not-optimized))))))
+(with-test (:name :backtrace-interrupted-condition-wait
+ :skipped-on '(not :sb-thread))
+ (let ((m (sb-thread:make-mutex))
+ (q (sb-thread:make-waitqueue)))
+ (assert (verify-backtrace
+ (lambda ()
+ (sb-thread:with-mutex (m)
+ (handler-bind ((timeout (lambda (c)
+ (error "foo"))))
+ (with-timeout 0.1
+ (sb-thread:condition-wait q m)))))
+ `((sb-thread:condition-wait ,q ,m))))))
+
;;; Division by zero was a common error on PPC. It depended on the
;;; return function either being before INTEGER-/-INTEGER in memory,
;;; or more than MOST-POSITIVE-FIXNUM bytes ahead. It also depends on
(load (compile-file "bug-414.lisp"))
(disassemble 'bug-414)))
-(with-test (:name :bug-310175)
- (let ((dx-arg (cons t t)))
+(with-test (:name :bug-310175 :fails-on '(not :stack-allocatable-lists))
+ ;; KLUDGE: Not all DX-enabled platforms DX CONS, and the compiler
+ ;; transforms two-arg-LIST* (and one-arg-LIST) to CONS. Therefore,
+ ;; use two-arg-LIST, which should get through to VOP LIST, and thus
+ ;; stack-allocate on a predictable set of machines.
+ (let ((dx-arg (list t t)))
(declare (dynamic-extent dx-arg))
(flet ((dx-arg-backtrace (x)
(declare (optimize (debug 2)))