Incorrect value computed, nested ifs with <=, >=
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
(defparameter *form235*
'(let ((v6
(boole boole-xor
(boole boole-nor 254 -80608110230486
(boole boole-nor 254
(if a
0
(let ((v2 (f235a (boole boole-andc1 524283 c))))
(list v2 v6
(if (>= v2 v6)
(declaim (notinline f235a))
(defun f235a (x)
(logand #xffff x))
(defun bug235 ()
(let* ((form *form235*)
(lam1 `(lambda (a c)
(lam2 `(lambda (a c)
(vals '(nil 284046690139078
(values (apply (compile nil lam1) vals)
(apply (compile nil lam2) vals))))
(bug235) ==> (0 0 1), (0 0 0)
x86-64, "2.3.8.
Changed in sbcl: | |
status: | New → Fix Released |
Tricky to reproduce, seems indeed that something is incorrectly cached.