Subject: Re: bug#63556: 29.0.90; Use of _Generic breaks Emacs build on GCC <4.9

From: Paul Eggert <[email-masked]>
Date: Thu, 18 May 2023 20:05:59 -0700

On 5/18/23 17:46, Po Lu wrote:

> How does intprops.h work on such systems?

It relies on _Generic. (Those systems use neither GCC nor Clang.)

> OK, but that's the second use of `long long' in src/ outside of
> NT-specific files.  I can't help but be a little skittish.

Fair enough, although I see more than just one other use: EMACS_INT 
(32-bit platforms configured --with-wide-int), color_distance, 
time_from_jiffies (in Linux), system_process_attributes (in Linux).

Currently there's a 'verify (PTRDIFF_MAX <= ULLONG_MAX);' protecting the 
use of elogb in lisp.h. Would it help to add a 'verify (max 
(-MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM) <= ULLONG_MAX);' to 
protect its use in floatfns.c?