Skip to content
Snippets Groups Projects
Commit 35ac2893 authored by ram's avatar ram
Browse files

Changed ENVIRONMENT-ANALYZE so that it doesn't always give multiple

"does not return" notes.
parent 752f16ce
No related branches found
No related tags found
No related merge requests found
...@@ -38,18 +38,19 @@ ...@@ -38,18 +38,19 @@
(declare (type component component)) (declare (type component component))
(assert (not (component-new-functions component))) (assert (not (component-new-functions component)))
(dolist (fun (component-lambdas component)) (dolist (fun (component-lambdas component))
(let* ((f (if (eq (functional-kind fun) :external) (let* ((ef (functional-entry-function fun))
(functional-entry-function fun) (kind (functional-kind fun))
fun)) (f (cond ((eq (functional-kind fun) :external)
(dtype (definition-type f)) (when (optional-dispatch-p ef) ef))
(node (lambda-bind fun))) ((null kind) fun))))
(setf (leaf-type f) dtype) (when f
(when (and (eq (function-type-returns dtype) *empty-type*) (let* ((dtype (definition-type f))
(or (functional-entry-function f) (node (lambda-bind fun)))
(null (functional-kind f))) (setf (leaf-type f) dtype)
(policy node (>= safety brevity))) (when (and (eq (function-type-returns dtype) *empty-type*)
(let ((*compiler-error-context* node)) (policy node (>= safety brevity)))
(compiler-note "Function does not return.")))) (let ((*compiler-error-context* node))
(compiler-note "Function does not return."))))))
(get-lambda-environment fun)) (get-lambda-environment fun))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment