* LVAR-USE where it should have been LVAR-USES.
Fixes launchpad bug #523612.
changes relative to sbcl-1.0.36:
* enhancement: Backtrace from THROW to uncaught tag on x86oids now shows
stack frame thrown from.
+ * bug fix: Fix compiler error involving MAKE-ARRAY and IF forms
+ in :INITIAL-CONTENTS. (lp#523612)
changes in sbcl-1.0.36 relative to sbcl-1.0.35:
* new feature: SB-EXT:TYPEXPAND-1, SB-EXT:TYPEXPAND, and
(not (null (member (leaf-source-name leaf) names
:test #'equal))))))))
+;;; Return true if LVAR's only use is a call to one of the named functions
+;;; (or any function if none are specified) with the specified number of
+;;; of arguments (or any number if number is not specified)
(defun lvar-matches (lvar &key fun-names arg-count)
- (let ((use (lvar-use lvar)))
+ (let ((use (lvar-uses lvar)))
(and (combination-p use)
(or (not fun-names)
(multiple-value-bind (name ok)
(compile nil src))))
(assert (not warningp))
(assert (= 1.0d0 (funcall fun)))))
+
+(with-test (:name :bug-523612)
+ (let ((fun
+ (compile nil
+ `(lambda (&key toff)
+ (make-array 3 :element-type 'double-float
+ :initial-contents
+ (if toff (list toff 0d0 0d0) (list 0d0 0d0 0d0)))))))
+ (assert (equalp (vector 0.0d0 0.0d0 0.0d0) (funcall fun :toff nil)))
+ (assert (equalp (vector 2.3d0 0.0d0 0.0d0) (funcall fun :toff 2.3d0)))))
;;; 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".)
-"1.0.36.1"
+"1.0.36.2"