[Openmcl-devel] Inlining bug?
Jared C. Davis
jared at cs.utexas.edu
Fri Jun 15 10:19:27 PDT 2007
Hi,
It seems like inlining breaks the following code on 1.1-pre-070512
(LinuxX8664) and also on
1.1-pre-070408 (LinuxX8664).
When I remove any of the "(declaim (inline ...))" calls, (len '(1 2
3)) correctly returns 3. But when they are all present, it
incorrectly returns 0.
(declaim (inline natp))
(declaim (inline nfix))
(declaim (inline nat+))
(defun natp (x)
(and (integerp x)
(<= 0 x)))
(defun nfix (x)
(if (natp x) x 0))
(defun nat+ (a b)
(+ (nfix a) (nfix b)))
(defun len (x)
(if (consp x)
(nat+ 1 (len (cdr x)))
0))
(len '(1 2 3)) ;; Incorrectly returns 0 instead of 3
Thanks,
Jared
--
Jared C. Davis <jared at cs.utexas.edu>
3600 Greystone Drive #604
Austin, TX 78731
http://www.cs.utexas.edu/users/jared/
More information about the Openmcl-devel
mailing list