gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] address@hidden: GCL Compiler Bug]


From: Matt Kaufmann
Subject: [Gcl-devel] address@hidden: GCL Compiler Bug]
Date: Fri, 5 Mar 2004 12:58:56 -0600

Hi, Camm --

Below is an email reporting a problem with GCL 2.5.0, but I've just checked
that the problem still occurs with a version of GCL 2.6.1 (built Nov. 16 at UT
CS).  The problem goes away if you do this before compilation, in which case
the message about eliminating tail recursion goes away.

(proclaim (quote (optimize (speed 0)
                           (space 0)
                           (safety 3))))

But if you use (safety 2), GCL says it's doing tail recursion elimination and
the problem occurs.

Please let me know if there's a better way for me to report such possible
issues, or if there's a changelog on the web that I should search first.

Thanks --
-- Matt
------- Start of forwarded message -------
Date: Fri, 5 Mar 2004 12:40:27 -0600 (CST)
From: "Erik H. Reeber" <address@hidden>
To: Matt Kaufmann <address@hidden>
Subject: GCL Compiler Bug
In-Reply-To: <address@hidden>
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Virus-Scanned: clamd / ClamAV version 0.67, clamav-milter version 0.66n


Hello,

   I'm using GCL version 2.5.0 and I ran into a wierd compiler bug related
to tail recursive elimination (I think).

   It's an easy bug to work around, but I figured you might like to see
it.  I also am not sure what the protocol is for reporting bugs like
this or whether it is a known bug, so I'm hoping you can tell me what to
do.

Here's a simplified version of my function that exhibits the bug:

(defun wierd-problem (s n x)
  (if (endp s)
      (reverse x)
    (let ((y n)
          (new-n (1+ n)))
      (wierd-problem (cdr s) new-n (cons y x)))))

Here's an example output, before compilation:

ACL2 !>(wierd-problem '(a b) 1 nil)
(1 2)

and after compilation:

ACL2 !>(wierd-problem '(a b) 1 nil)
(2 3)


- -Erik
------- End of forwarded message -------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]