X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fcontrol.lisp;h=2e1db870749b936af3eb91ba15f7d9e9244f9430;hb=d131dfb49a3e6522d2358d14252f3f52cfcd202a;hp=5df3e2f51fddcf7bbf64baf33d6e942c74d495b3;hpb=34dd23563d2f5cf05c72b971da0d0b065a09bf2a;p=sbcl.git diff --git a/src/compiler/control.lisp b/src/compiler/control.lisp index 5df3e2f..2e1db87 100644 --- a/src/compiler/control.lisp +++ b/src/compiler/control.lisp @@ -96,7 +96,9 @@ ;;; (end in an error, NLX or tail full call.) This is to discourage ;;; making error code the drop-through. (defun control-analyze-block (block tail block-info-constructor) - (declare (type cblock block) (type block-annotation tail)) + (declare (type cblock block) + (type block-annotation tail) + (type function block-info-constructor)) (unless (block-flag block) (let ((block (find-rotated-loop-head block))) (setf (block-flag block) t) @@ -137,7 +139,9 @@ ;;; course, it will never get a drop-through if either function has ;;; NLX code. (defun control-analyze-1-fun (fun component block-info-constructor) - (declare (type clambda fun) (type component component)) + (declare (type clambda fun) + (type component component) + (type function block-info-constructor)) (let* ((tail-block (block-info (component-tail component))) (prev-block (block-annotation-prev tail-block)) (bind-block (node-block (lambda-bind fun)))) @@ -196,7 +200,7 @@ (do-blocks (block component) (unless (block-flag block) - (event control-deleted-block (continuation-next (block-start block))) + (event control-deleted-block (block-start-node block)) (delete-block block)))) (let ((2comp (component-info component)))