Restore type derivation for known/declared functions, even
when their use is declared NOTINLINE.
(let ((res (make-defined-fun
:%source-name (leaf-source-name var)
:where-from (leaf-where-from var)
- :type (if (eq inlinep :notinline)
+ :type (if (and (eq inlinep :notinline)
+ (not (eq (leaf-where-from var) :declared)))
(specifier-type 'function)
(leaf-type var))
:inlinep inlinep)))
EOF
expect_clean_compile $tmpfilename
+# NOTINLINE on known functions shouldn't inhibit type inference
+# (spotted by APD sbcl-devel 2003-06-14)
+cat > $tmpfilename <<EOF
+ (in-package :cl-user)
+ (defun foo (x)
+ (declare (notinline list))
+ (1+ (list x)))
+EOF
+expect_failed_compile $tmpfilename
+
rm $tmpfilename
rm $compiled_tmpfilename
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.0.72"
+"0.8.0.73"