diff --git a/src/cmp/cmplet.lsp b/src/cmp/cmplet.lsp index c33547003..1ea975eb4 100644 --- a/src/cmp/cmplet.lsp +++ b/src/cmp/cmplet.lsp @@ -125,7 +125,7 @@ ((not (c1form-p x))) ((eq (c1form-name x) 'VAR) (when (eq var (c1form-arg 0 x)) - (setf (c1form-type x) (type-and (c1form-type x) type)))) + (setf (c1form-type x) (type-and (c1form-primary-type x) type)))) (t (update-var-type var type (c1form-args x))))) diff --git a/src/cmp/cmpmac.lsp b/src/cmp/cmpmac.lsp index 9cbbba864..25e8ffcfd 100644 --- a/src/cmp/cmpmac.lsp +++ b/src/cmp/cmpmac.lsp @@ -140,8 +140,7 @@ (if (c1form-volatile form) "volatile " "")) (defun c1form-primary-type (form) - (let ((type (c1form-type form))) - (values-type-primary-type type))) + (values-type-primary-type (c1form-type form))) (defun find-node-in-list (home-node list) (flet ((parent-node-p (node presumed-child)