0.pre7.86.flaky7.20:
authorWilliam Harold Newman <william.newman@airmail.net>
Tue, 4 Dec 2001 21:51:42 +0000 (21:51 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Tue, 4 Dec 2001 21:51:42 +0000 (21:51 +0000)
commitba4555ae4fdbbdac69c798f4210472f10aea583c
treedd2d72a2367e0c50abde37c5b67e8f181f13171c
parent36122c8b031dafb1dcd8ee7e986e67f5c79723f0
0.pre7.86.flaky7.20:
(This version bootstrapped successfully from 0.6.13, passed
regression tests, served as its own bootstrap host,
and passed regression tests again. But it still has
debugger/signal/whatever problems, so that A doesn't
work from the debugger prompt, and after it fails,
(SB-EXT:QUIT) doesn't work either.)
The failure in clocc-ansi-test was in the find-the-home-lambda
part of the new code which updates LAMBDA-REFERS-TO-VAR
in IR1 translation of SETQ. We try to find the home
lambda by looking backwards through continuations,
but in the (SETQ X 3) form in
      (SETQ X 2)
      (RETURN-FROM STOP)
      (SETQ X 3))
it doesn't work to look backwards. (To make a point
which eluded me for a while, this isn't a bug in the
way that continuations are set up, it's because the
(SETQ X 3) form is orphaned by the way that control
always jumps out through RETURN-FROM, so that the
(SETQ X 3) form effectively has no home lambda.) So...
...redid CONTINUATION-HOME-LAMBDA in terms of
CONTINUATION-HOME-LAMBDA-OR-NULL, and BLOCK-HOME-LAMBDA
in terms of BLOCK-HOME-LAMBDA-OR-NULL
...made the update-LAMBDA-REFERS-TO-VAR code accept a NIL
answer from CONTINUATION-HOME-LAMBDA-OR-NULL
NEWS
src/compiler/ir1-translators.lisp
src/compiler/ir1tran.lisp
src/compiler/ir1util.lisp
version.lisp-expr