declaiming FOO as NOTINLINABLE causes warning about non-toplevel FOO not being inlinable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
In this test case, FOO is a non-toplevel function and it has been declared NOTINLINE. This declaration causes two unexpected compile notes about DEFUN FOO not being inlinable.
$ cat test.lisp
(in-package :cl-user)
(declaim (notinline foo))
(let ((i 0))
(defun foo ()
(incf i)))
$ sbcl
This is SBCL 1.0.54.62-9ef5527, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (compile-file "test.lisp")
; compiling file "/private/
; compiling (IN-PACKAGE :CL-USER)
; compiling (DECLAIM (NOTINLINE FOO))
; compiling (LET (#) ...)
; file: /private/
; in: LET ((I 0))
; (LET ((I 0))
; (DEFUN FOO () (INCF I)))
;
; note: lexical environment too hairy, can't inline DEFUN FOO
; in: DEFUN FOO
; (DEFUN FOO () (INCF I))
;
; note: lexical environment too hairy, can't inline DEFUN FOO
;
; compilation unit finished
; printed 2 notes
; /private/
; compilation finished in 0:00:00.055
#P"/private/
NIL
NIL
*
Changed in sbcl: | |
status: | New → Fix Committed |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |