sbcl.sbcl/tests/bug-255.lisp
Douglas Katzman 76c36bbc60 Disallow failure from COMPILE-FILE in cload tests
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.
2022-02-19 14:54:59 -05:00

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)))))))