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 11:39:25 +0200

Eli Zaretskii <address@hidden> writes:

>> From: Pip Cet <address@hidden>
>> Date: Fri, 23 Mar 2018 20:52:52 +0000
>> Cc: Emacs development discussions <address@hidden>
>> 
>> Is this really specific to floating-point expressions, though?
>> 
>> (byte-compile (lambda (x) (* #x10000 #x10000 #x10000 #x10000)))
>> #[(x) "À\207" [0] 1]
>> 
>> (at least on this somewhat oudated version of Emacs). Note the 0 in
>> the constant vector, which hardcodes the <65-bit-ness of fixnums.
>> 
>> 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?

Robert



reply via email to

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