emacs-devel
[Top][All Lists]
Advanced

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

Re: Floating-point constant folding in Emacs byte compiler


From: Robert Pluim
Subject: Re: Floating-point constant folding in Emacs byte compiler
Date: Mon, 26 Mar 2018 17:57:01 +0200

Eli Zaretskii <address@hidden> writes:

>> X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM,
>>      T_DKIM_INVALID autolearn=disabled version=3.3.2
>> From: Robert Pluim <address@hidden>
>> Cc: Pip Cet <address@hidden>,  address@hidden,  address@hidden
>> Gmane-Reply-To-List: yes
>> Date: Mon, 26 Mar 2018 11:39:25 +0200
>> 
>> >> I imagine that on a 32-bit version of emacs, (byte-compile (lambda (x)
>> >> (* #x10000 #x10000))) similarly produces a constant-zero function,
>> >
>> > The result depends on whether Emacs was build --with-wide-int.  If it
>> > was, the result is #[(x) "\300\207" [4294967296] 1], if it wasn't, I
>> > get #[(x) "\300\207" [0] 1].
>> 
>> Hmm, would it be worthwhile to have Emacs signal overflow in such a
>> situation (perhaps controlled by a configuration variable) so we could
>> fix such issues?
>
> In which of these two cases do you see overflow?
>

Does (* #x10000 #x10000) not overflow on 32-bit? Or have I missed a
bit somewhere?

> I also don't think I understand the utility of signaling an overflow
> error from the byte compiler that happened because it did constant
> folding.  What else except bug reports could this yield?

I was proposing it as a debug option, not a generally enabled one. Of
course if there's no overflow, it would be kind of useless :-)

Robert



reply via email to

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