X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fir1-translators.lisp;h=d22a012fba84e0378074c059896418806d9122f6;hb=e049902f5e7c30501d2dbb7a41d058a0c717fc1f;hp=398e692250cca4d3818e037c4fb868788fd46c43;hpb=dc84ceb894fdbe315f82dd8336f3ba894435a669;p=sbcl.git diff --git a/src/compiler/ir1-translators.lisp b/src/compiler/ir1-translators.lisp index 398e692..d22a012 100644 --- a/src/compiler/ir1-translators.lisp +++ b/src/compiler/ir1-translators.lisp @@ -440,7 +440,8 @@ cont (ir1-convert-lambda thing :debug-name (debug-namify - "#'~S" thing)))) + "#'~S" thing) + :allow-debug-catch-tag t))) ((setf) (let ((var (find-lexically-apparent-fun thing "as the argument to FUNCTION"))) @@ -448,7 +449,8 @@ ((instance-lambda) (let ((res (ir1-convert-lambda `(lambda ,@(cdr thing)) :debug-name (debug-namify "#'~S" - thing)))) + thing) + :allow-debug-catch-tag t))) (setf (getf (functional-plist res) :fin-function) t) (reference-leaf start cont res))) (t @@ -482,9 +484,11 @@ (def-ir1-translator named-lambda ((name &rest rest) start cont) (let* ((fun (if (legal-fun-name-p name) (ir1-convert-lambda `(lambda ,@rest) - :source-name name) + :source-name name + :allow-debug-catch-tag t) (ir1-convert-lambda `(lambda ,@rest) - :debug-name name))) + :debug-name name + :allow-debug-catch-tag t))) (leaf (reference-leaf start cont fun))) (when (legal-fun-name-p name) (assert-global-function-definition-type name fun)) @@ -657,7 +661,8 @@ (ir1-convert-lambda d :source-name n :debug-name (debug-namify - "FLET ~S" n))) + "FLET ~S" n) + :allow-debug-catch-tag t)) names defs)) (*lexenv* (make-lexenv :default (process-decls decls nil fvars cont) @@ -692,7 +697,8 @@ (ir1-convert-lambda def :source-name name :debug-name (debug-namify - "LABELS ~S" name))) + "LABELS ~S" name) + :allow-debug-catch-tag t)) names defs)))) ;; Modify all the references to the dummy function leaves so @@ -848,8 +854,8 @@ (defun setq-var (start cont var value) (declare (type continuation start cont) (type basic-var var)) (let ((dest (make-continuation))) - (assert-continuation-type dest (leaf-type var) (lexenv-policy *lexenv*)) (ir1-convert start dest value) + (assert-continuation-type dest (leaf-type var) (lexenv-policy *lexenv*)) (let ((res (make-set :var var :value dest))) (setf (continuation-dest dest) res) (setf (leaf-ever-used var) t) @@ -859,7 +865,7 @@ ;;;; CATCH, THROW and UNWIND-PROTECT -;;; We turn THROW into a multiple-value-call of a magical function, +;;; We turn THROW into a MULTIPLE-VALUE-CALL of a magical function, ;;; since as as far as IR1 is concerned, it has no interesting ;;; properties other than receiving multiple-values. (def-ir1-translator throw ((tag result) start cont)