Fwd: possible abcl bug: incorrectly deletes "unused" local function

Erik Huelsmann ehuels at gmail.com
Sun Apr 5 14:27:51 UTC 2015


Hi Vibhu, Mark,

http://abcl.org/trac/changeset/14754 fixes the problem reported.


Thanks for reporting!


Regards,


Erik.

On Sun, Apr 5, 2015 at 3:06 PM, Erik Huelsmann <ehuels at gmail.com> wrote:

> Hi,
>
> On Sun, Apr 5, 2015 at 2:14 PM, Mark Evenson <evenson at panix.com> wrote:
>
>> But the example shows SAMPLE2 being executed not =SAMPLE2.
>>
>
> Ah. right. that's an error. I can see the error regarding dead code
> elimination in precompile.lisp:precompile-flet/labels. Working on a fix
> right now.
>
>
> Regards,
>
>
> Erik.
>
>> Tersely pecked on a Nexus 5
>>  On Apr 5, 2015 2:09 PM, Erik Huelsmann <ehuels at gmail.com> wrote:
>>
>> Hi Mark,
>>
>> On Sun, Apr 5, 2015 at 11:13 AM, Mark Evenson <evenson at panix.com> wrote:
>>
>> On 4/4/15 18:28, Erik Huelsmann wrote:
>>
>> […]
>>
>> The copy of the bug code you sent me got garbled as follows:
>>
>> (defun =sample2 (n)
>>   (macrolet ((f (result x)
>>                 `(list 'more (lambda () (=f ,result ,x))))
>>              (g (result x)
>>                 `(list 'more (lambda () (=g ,result ,x)))))
>>     (labels ((=f (result x)
>>                (if (zerop x)
>>                  result
>>                  (g (1+ result) (1- x))))
>>              (=g (result x)
>>                (f result x)))
>>       (f 0 n))))
>>
>>
>> I assume that one is supposed to remove all the #\= characters?
>>
>>
>> It's exactly the code that was sent to me. I think the point is that the
>> macrolet conceils the fact that the "=g" function is being called through
>> the "g" macro and that ABCL incorrectly handles the situation as dead code.
>>
>>
>> Regards,
>>
>> --
>> Bye,
>>
>> Erik.
>>
>> http://efficito.com -- Hosted accounting and ERP.
>> Robust and Flexible. No vendor lock-in.
>>
>>
>
>
> --
> Bye,
>
> Erik.
>
> http://efficito.com -- Hosted accounting and ERP.
> Robust and Flexible. No vendor lock-in.
>



-- 
Bye,

Erik.

http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20150405/a777b7a0/attachment-0001.html>


More information about the armedbear-devel mailing list