1 ;;; bug 254: compiler falure
2 (defpackage :bug254 (:use :cl))
4 (declaim (optimize (safety 3) (debug 2) (speed 2) (space 1)))
6 (uhw2 nil :type (or package null)))
7 (macrolet ((defprojection (variant &key lexpr eexpr)
9 `(defmethod uu ((foo foo))
10 (let ((uhw2 (foo.uhw2 bar)))
13 (baz (funcall ,lexpr south east 1)))))))))
15 :lexpr (lambda (south east sched)
16 (flet ((bd (x) (bref x sched)))
17 (let ((avecname (gafp)))
18 (declare (type (vector t) avecname))
21 (setf (avec.count avecname) (length rest))
22 (setf (aref avecname 0) (bd (h south)))
23 (setf (aref avecname 1) (bd (h east)))
26 :eexpr (lambda (south east))))
27 (delete-package :bug254)
30 (defpackage :bug255 (:use :cl))
32 (declaim (optimize (safety 3) (debug 2) (speed 2) (space 1)))
37 (defstruct yam (v nil :type (or v null)))
39 (defstruct (bod (:include un)) bo)
40 (defstruct (bad (:include bod)) ba)
41 (declaim (ftype (function ((or w bad) (or w bad)) (values)) %ufm))
42 (defun %ufm (base bound) (froj base bound *1*) (values))
43 (declaim (ftype (function ((vector t)) (or w bad)) %pu))
48 (flet ((project (x) (frob x 0)))
51 (progn (%pu avecname))
53 (delete-package :bug255)
56 (defpackage :bug148 (:use :cl))
61 (defstruct foo bar bletch)
63 (labels ((kidify1 (kid)
71 (declare (inline kid-frob))
74 (the simple-vector (foo-bar perd)))))
76 (declaim (optimize (safety 3) (speed 2) (space 1)))
79 (defun u-b-sra (x r ad0 &optional ad1 &rest ad-list)
83 (vector-push-extend c0 *bar*))))
86 (map nil #'ad.frob (the (vector t) *bar*))
89 (declare (inline c.frob ad.frob)) ; 'til DYNAMIC-EXTENT
93 (declare (special *foo* *bar*))
94 (declare (optimize (safety 3) (speed 2) (space 1)))
98 (mapc #'ad.frob *bar*)
101 (declare (inline c.frob ad.frob))
104 (defun bug148-4 (ad0)
105 (declare (optimize (safety 3) (speed 2) (space 1) (debug 1)))
110 collect (c.frob b))))
111 (declare (inline c.frob ad.frob))
113 (funcall (if (listp ad0) #'ad.frob #'print) ad0)
114 (funcall (if (listp ad0) #'ad.frob #'print) (reverse ad0)))))
116 (assert (equal (eval '(bug148-4 '(1 2 3)))
117 '((1 2 3) (7 14 21) (21 14 7))))
119 (delete-package :bug148)
122 (defpackage :bug258 (:use :cl))
126 (declare (special *foo* *bar*))
127 (declare (optimize (safety 3) (speed 2) (space 1) (debug 1)))
131 (mapcar #'c.frob ad)))
132 (declare (inline c.frob ad.frob))
134 (funcall (if (listp ad0) #'ad.frob #'print) ad0)
135 (funcall (if (listp ad0) #'ad.frob #'print) (reverse ad0)))))
137 (assert (equal (u-b-sra '(4 9 7))
138 '((4 9 7) (3 8 6) (6 8 3))))
140 (delete-package :bug258)
143 (sb-ext:quit :unix-status 104)