[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compiler bug?
From: Hong-Tai Chou, MCC
Subject: compiler bug?
We are having a strange problem with a piece of code compiled
with safety level 2.
In particular, the "fix" macro call in the C code
for (setf (aref x (decf i)) (aref x 1)) is suspicious.
Yes, it's a compiler bug.
The bug was in the definition of the Lisp function INLINE-ARGS in
file cmpnew/cmpinline.lsp. To fix the bug, replace the SETQ form
(marked =>) in the T clause of the COND form in the SETQ clause
in the big CASE form in the definition of INLINE-ARGS. (Sorry, it's a
very very big definition.)
(case (car form)
(t (setq forms ..)
=> (setq types (list* type type types))))))
=> (setq types (list* type type (cdr types)))))))
PS. Again, please keep it in mind that the title of your
bug report be something that can identify the sort of the bug.