From: Hans Chalupsky
Subject: Bug in Allegro CL 3.0.1.beta.sun4.1 compiler (compilation of LAST)
Date: 
Message-ID: <13966@eerie.acsu.Buffalo.EDU>
I just managed to pin down a bug in the Allegro CL compiler for Sun-4's that
gave me a headache for the last few weeks. It's a problem with inline
compilation of the function LAST (inline is default). If this is already
common knowledge or 3.0.1.beta.sun4.1 is an obsolete version - just ignore 
the rest of the article. I'll file an official bug report but it will 
probably take a while for the fix to migrate to the users.


The following script shows that FOO if run interpreted executes the side
effect of PRINTing only once. After compilation of FOO printing is done 
twice. Explicitly disallowing inline compilation for LAST before compilation 
of FOO gives a compiled version that works.

Here's the script:

Allegro CL 3.0.1.beta.sun4.1 [sun4] (9/12/89 22:12)
Copyright (C) 1985-1988, Franz Inc., Berkeley, CA, USA
<cl> 

<cl> (defun foo (l)
       (last (print l)))

FOO 
<cl> (foo '(1 2 3))

(1 2 3) 
(3) 
<cl> (compile 'foo)

FOO 
<cl> (foo '(1 2 3))

(1 2 3) 
(1 2 3) 
(3) 
<cl> (defun foo (l)
       (last (print l)))

FOO 
<cl> (proclaim '(notinline last))

T 
<cl> (compile 'foo)

FOO 
<cl> (foo '(1 2 3))

(1 2 3) 
(3) 
<cl> 







····@cs.buffalo.edu
Hans Chalupsky, Dept. of CS, 226 Bell Hall, ····@Buffalo, NY 14260.
From: Kevin Layer
Subject: Re: Bug in Allegro CL 3.0.1.beta.sun4.1 compiler (compilation of LAST)
Date: 
Message-ID: <4099@franz.Franz.COM>
In article <·····@eerie.acsu.Buffalo.EDU> ····@sybil.cs.buffalo.edu (Hans Chalupsky) writes:
>I just managed to pin down a bug in the Allegro CL compiler for Sun-4's that
>gave me a headache for the last few weeks. It's a problem with inline
>compilation of the function LAST (inline is default). If this is already
>common knowledge or 3.0.1.beta.sun4.1 is an obsolete version - just ignore 
>the rest of the article. I'll file an official bug report but it will 
>probably take a while for the fix to migrate to the users.

We have a patch for this bug.  Contact ·······@franz.com if you need it.


Kevin Layer, Franz Inc.         1995 University Avenue, Suite 275
·····@Franz.COM (internet)      Berkeley, CA  94704
uunet!franz!layer (uucp)        Phone: (415) 548-3600; FAX: (415) 548-8253