From a41bd5d08ca80927fe1efd02887f9a56e0d24b67 Mon Sep 17 00:00:00 2001 From: Stas Boukarev Date: Tue, 23 Apr 2024 05:29:06 +0300 Subject: [PATCH] Trust non-returning functions during sb-xc. --- src/compiler/ir2tran.lisp | 3 ++- src/compiler/pack.lisp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/ir2tran.lisp b/src/compiler/ir2tran.lisp index 1deff3ec4..49db2d69e 100644 --- a/src/compiler/ir2tran.lisp +++ b/src/compiler/ir2tran.lisp @@ -2410,7 +2410,8 @@ (name (and (ref-p use) (leaf-has-source-name-p (ref-leaf use)) (leaf-source-name (ref-leaf use)))) - (ftype (and (info :function :info name) ; only use the ftype if + (ftype (and #-sb-xc-host + (info :function :info name) ; only use the ftype if (global-ftype name)))) ; name was defknown (unless (or (node-tail-p last) (policy last (zerop safety)) diff --git a/src/compiler/pack.lisp b/src/compiler/pack.lisp index 8a49f90b2..cd66821c3 100644 --- a/src/compiler/pack.lisp +++ b/src/compiler/pack.lisp @@ -615,6 +615,7 @@ (let ((type (sb-c::lvar-fun-type (sb-c::combination-fun node)))) (and (fun-type-p type) (eq (sb-kernel:fun-type-returns type) *empty-type*))) + #-sb-xc-host (or (sb-c::combination-fun-info node) (policy node (zerop safety))))))) -- 2.11.4.GIT