From ba3afa81f34140f56c7d53abda2ea1e71fa7a4a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Tue, 27 Jun 2023 12:20:59 +0200 Subject: [PATCH] cmp: constants: get rid of an edge case where we return a list --- src/cmp/cmpbackend-cxx/cmpc-opt-ct.lsp | 6 +++--- src/cmp/cmppass1-eval.lsp | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/cmp/cmpbackend-cxx/cmpc-opt-ct.lsp b/src/cmp/cmpbackend-cxx/cmpc-opt-ct.lsp index 81ab37e51..628ae5cf8 100644 --- a/src/cmp/cmpbackend-cxx/cmpc-opt-ct.lsp +++ b/src/cmp/cmpbackend-cxx/cmpc-opt-ct.lsp @@ -19,9 +19,9 @@ (defun make-single-constant-optimizer (name c-value) (cond ((symbolp name) (let* ((value (symbol-value name)) - (type (lisp-type->rep-type (type-of value)))) - (cons value `(ffi:c-inline () () ,type ,c-value - :one-liner t :side-effects nil)))) + (type (lisp-type->rep-type (type-of value))) + (location (make-vv :location c-value :value value :rep-type type))) + (cons value (make-c1form* 'LOCATION :type type :args location)))) ((floatp name) (let* ((value name) (type (type-of value)) diff --git a/src/cmp/cmppass1-eval.lsp b/src/cmp/cmppass1-eval.lsp index 2250dd1c7..f81b3a05e 100644 --- a/src/cmp/cmppass1-eval.lsp +++ b/src/cmp/cmppass1-eval.lsp @@ -128,10 +128,7 @@ ((ext:when-let ((x (assoc val *optimizable-constants*))) (pushnew "#include " *clines-string-list*) (pushnew "#include " *clines-string-list*) - (setf x (cdr x)) - (if (listp x) - (c1expr x) - x))) + (cdr x))) ((eq val nil) (c1nil)) ((eq val t) (c1t)) ((ext:fixnump val)