mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
back-propagate-one-dx-lvar: check the flag before processing nlx entries.
Fixes lp#1809565
This commit is contained in:
parent
e7485a9ba7
commit
85bc68ea29
|
|
@ -120,7 +120,9 @@
|
|||
(when (eq (block-out block) nlx)
|
||||
(map-block-nlxes
|
||||
(lambda (nlx)
|
||||
(mark (nlx-info-target nlx)))
|
||||
(let ((target (nlx-info-target nlx)))
|
||||
(when (eq (block-flag target) cycle)
|
||||
(mark target))))
|
||||
block)))
|
||||
(mark (block)
|
||||
(let ((2block (block-info block)))
|
||||
|
|
|
|||
|
|
@ -1541,3 +1541,13 @@
|
|||
(declare (dynamic-extent v))
|
||||
(car (elt v 0))))
|
||||
((t t) 10)))
|
||||
|
||||
(with-test (:name :back-propagate-one-dx-lvar-nlx)
|
||||
(checked-compile-and-assert
|
||||
()
|
||||
`(lambda (c)
|
||||
(catch 'c
|
||||
(let ((v (list (vector 0 c 0 0) (catch 'ct5 (throw 'ct5 0)) 0)))
|
||||
(declare (dynamic-extent v))
|
||||
(elt (elt v 0) 1))))
|
||||
((33) 33)))
|
||||
|
|
|
|||
Loading…
Reference in a new issue