* bug fix: EQUAL compiler optimizations is less aggressive on
strings which can potentially compare true despite having distinct
specialized array element types.
+ * bug fix: unit enumerations can be defined without dividing by
+ zero. (thanks to Vincent Arkesteijn)
* FORMAT compile-time argument count checking has been enhanced.
(report from Bruno Haible for CMUCL)
* a partial workaround for the bug 262: the compiler does not try to
;; If range is at least 20% dense, use vector mapping. Crossover
;; point solely on basis of space would be 25%. Vector mapping
;; is always faster, so give the benefit of the doubt.
- ((< 0.2 (/ (float (length from-alist)) (float (- max min))))
+ ((< 0.2 (/ (float (length from-alist)) (float (1+ (- max min)))))
;; If offset is small and ignorable, ignore it to save time.
(when (< 0 min 10) (setq min 0))
(let ((to (make-array (1+ (- max min)))))
(delete-file (compile-file-pathname fname))
(delete-file fname)))
+;;; enumerations with only one enum resulted in division-by-zero
+;;; reported on sbcl-help 2004-11-16 by John Morrison
+(define-alien-type enum.1 (enum nil (:val0 0)))
+
;;; success
(quit :unix-status 104)
;;; 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.16.41"
+"0.8.16.42"