* fixed bug: if last continuation of a deleted block has a
destination, this destination should be deleted too. (reported by
ohler on #lisp)
+ * fixed a bug in the bootstrap process: the host compiler's values
+ of ARRAY-DIMENSION-LIMIT and ARRAY-TOTAL-SIZE-LIMIT no longer leak
+ into the newly-built SBCL. (reported by Eric Marsden on #lisp,
+ test case from Patrik Nordebo)
* fixed some bugs revealed by Paul Dietz' test suite:
** LAST and [N]BUTLAST should accept a bignum.
** condition slot accessors are methods.
+ ** (VECTOR NIL) is a subtype of STRING.
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles
;;; completely parallel, at which time they should be merged to
;;; eliminate the duplicate code.
-(defmacro def!type (&rest rest)
+(defmacro def!type (name &rest rest)
`(progn
- (deftype ,@rest)
+ (deftype ,name ,@rest)
#+sb-xc-host
- ,(let ((form `(sb!xc:deftype ,@(uncross rest))))
+ ,(let ((form `(sb!xc:deftype ,(uncross name) ,@rest)))
(if (boundp '*delayed-def!types*)
`(push ',form *delayed-def!types*)
form))))
(multiple-value-bind (fun warn fail)
(compile nil '(lambda () (make-array 5 :element-type 'undefined-type)))
(assert warn))
+
+(flet ((opaque-identity (x) x))
+ (declare (notinline opaque-identity))
+ ;; we used to have leakage from cross-compilation hosts of the INDEX
+ ;; type, which prevented us from actually using all the large array
+ ;; dimensions that we promised. Let's make sure that we can create
+ ;; an array with more than 2^24 elements, since that was a symptom
+ ;; from the CLISP and OpenMCL hosts.
+ (let ((big-array (opaque-identity
+ (make-array (expt 2 26) :element-type 'bit))))
+ (assert (= (length big-array) (expt 2 26)))))
\ No newline at end of file
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.1.34"
+"0.8.1.35"