mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Impure tests convey status only through 'test-status.lisp-expr' , but nothing wrote to that if the compile fails in such a way as to leave a do-nothing fasl. Pure tests may at one point have aborted properly, but PURE-RUNNER is complicated enough that it's hard to tell any more what used to work. Anyway the fix is the same for both cases- explicitly note in *FAILURES* that COMPILE-FILE says it failed. And of course fix all the tests for which that used to happen.
25 lines
789 B
Common Lisp
25 lines
789 B
Common Lisp
(defpackage :bug255 (:use :cl))
|
|
(in-package :bug255)
|
|
(declaim (optimize (safety 3) (debug 2) (speed 2) (space 1)))
|
|
(defvar *1*)
|
|
(defvar *2*)
|
|
(defstruct v a b)
|
|
(defstruct w)
|
|
(defstruct yam (v nil :type (or v null)))
|
|
(defstruct un u)
|
|
(defstruct (bod (:include un)) bo)
|
|
(defstruct (bad (:include bod)) ba)
|
|
(declaim (ftype (function ((or w bad) (or w bad)) (values)) %ufm))
|
|
(defun %ufm (base bound) (froj base bound *1*) (values))
|
|
(declaim (ftype (function ((vector t)) (or w bad)) %pu))
|
|
(defun %pu (pds) (declare (ignore pds)) *2*)
|
|
(defun uu (yam)
|
|
(declare (ignore yam))
|
|
(let ((v (yam-v az)))
|
|
(%ufm v
|
|
(flet ((project (x) (frob x 0)))
|
|
(let ((avecname *1*))
|
|
(multiple-value-prog1
|
|
(progn (%pu avecname))
|
|
(frob)))))))
|