mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Disable pass-through-path-p for NLX
nlx-entry-pass-through currently makes the whole function return, bypassing any other cleanups.
This commit is contained in:
parent
07bb993d53
commit
ea4332cd1f
|
|
@ -319,8 +319,9 @@
|
|||
t)
|
||||
(combination
|
||||
(let ((name (combination-fun-source-name node nil)))
|
||||
(unless (member name '(%cleanup-point %special-unbind
|
||||
%catch-breakup
|
||||
(unless (member name '(%special-unbind
|
||||
#+nil %cleanup-point
|
||||
#+nil %catch-breakup
|
||||
;; not useful in practice, because the user-written cleaup
|
||||
;; code needs to be analyzed for non-mv-clobbering
|
||||
#|%unwind-protect-breakup|#))
|
||||
|
|
|
|||
|
|
@ -93,10 +93,13 @@
|
|||
`(lambda (x) (multiple-value-prog1 ,form (h x))))))
|
||||
(assert (find 'sb-c:return-multiple vops))))
|
||||
|
||||
(with-test (:name :pass-through-dx-return)
|
||||
(with-test (:name :pass-through-dx-return
|
||||
:implemented-on (and :x86-64 :tls-based-mv-return)
|
||||
:broken-on :sbcl)
|
||||
(test-passthru-return '(sb-int:dx-let ((y (cons x x))) (g y))))
|
||||
|
||||
(with-test (:name :pass-through-special-unbind)
|
||||
(with-test (:name :pass-through-special-unbind
|
||||
:implemented-on (and :x86-64 :tls-based-mv-return))
|
||||
(test-passthru-return '(let ((*print-base* 10)) (g x))))
|
||||
|
||||
(defun passthru-callee-normal (n)
|
||||
|
|
|
|||
Loading…
Reference in a new issue