characters.
** The REAL type specifier handles bounds outside the floating
point ranges without signalling FLOATING-POINT-OVERFLOW.
+ ** Functions with IR1-transformations can create intercomponent
+ references to global functions.
changes in sbcl-0.8.16 relative to sbcl-0.8.15:
* enhancement: saving cores with foreign code loaded is now
:notinline))
(let ((functional (defined-fun-functional leaf)))
(when (and functional
- (not (functional-kind functional)))
+ (not (functional-kind functional))
+ ;; Bug MISC.320: ir1-transform
+ ;; can create a reference to a
+ ;; inline-expanded function,
+ ;; defined in another component.
+ (not (and (lambda-p functional)
+ (neq (lambda-component functional)
+ *current-component*))))
(maybe-reanalyze-functional functional))))
(when (and (lambda-p leaf)
(memq (functional-kind leaf)
'(lambda (s ei x y)
(declare (type (simple-array function (2)) s) (type ei ei))
(funcall (aref s ei) x y))))
+
+;;; MISC.320: ir1-transform can create an intercomponent reference to
+;;; a DEFINED-FUN.
+(assert (eql 102 (funcall
+ (compile
+ nil
+ '(lambda ()
+ (declare (optimize (speed 3) (space 0) (safety 2)
+ (debug 2) (compilation-speed 0)))
+ (catch 'ct2
+ (elt '(102)
+ (flet ((%f12 () (rem 0 -43)))
+ (multiple-value-call #'%f12 (values))))))))))
;;; 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.32"
+"0.8.16.33"