|
From: Raymond T. <to...@rt...> - 2000-01-14 22:23:52
|
Hurray, the mailing lists are back!
Let me report this bug that I found a while ago, just after the
mailing lists died. (I also reported a bug that caused a segfault,
but I've sent that directly to Bruno since then.)
Consider this bit of code in lab.lisp:
(defun tst (x)
(declare (single-float x))
(flet ((sqr (x)
(* x x)))
(declare (inline sqr))
(sqr (1+ x))))
If I compile this using clisp -a (version 1999-07-22, on Solaris 2.7),
everything works fine. If I compile this with clisp (no ansi mode), I
get this:
Compiling file /tmp/lab.lisp ...
ERROR in function TST in lines 1..6 :
Misplaced declaration: (DECLARE (INLINE SQR))
Is this the intended behavior? The same thing happens if flet is
replaced by labels.
CLHS says this should be ok.
The impnotes says declarations are ignored, but that's clearly not
quite true here. This difference isn't documented if this is the
expected behavior, so that would be a documentation bug. :-)
Ray
|