Paul Eggert <address@hidden
> schrieb am Fr., 20. Nov. 2015 um 21:32 Uhr:
Philipp Stephani wrote:
> Daniel felt pretty strongly about using int64 for fixnums.
As I recall, he felt that we shouldn't use EMACS_INT in the module API, and
int64_t was merely a means to that goal. If so, that's not a reason to prefer
int64_t over intmax_t; it's merely a reason to make sure that intmax_t is at
least as portable as int64_t is in this area. Which it is.
> Is there any reason to change that?
Yes, int64_t is not required by POSIX, C99, etc. That is, int64_t is an
optional type. In contrast, intmax_t is required on all C99 platforms, and it
has better support (e.g., there's a printf format specifier for it), so there
are advantages to intmax_t over int64_t. I don't know of any advantage int64_t
would have over intmax_t on any platform that Emacs supports.
It would be guaranteed to always have the same size, if available. My understanding is that intmax_t could differ between compilers even on the same machine, which would silently break compatibility.