|
From: | Paul Eggert |
Subject: | Re: Suspicious warning in W64 build |
Date: | Sat, 16 Sep 2017 23:40:05 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
Eli Zaretskii wrote:
Not sure what to do about this. Add 'volatile' to the declaration of 'c'?
Looks like a GCC bug. To work around it, please try CACHEABLE instead of volatile, to warn the reader that it's a compiler-bug workaround. Like this:
struct handler *CACHEABLE c = handlerlist->nextfree;
This seems to imply that m4/manywarnings.m4 has a bug: it somehow deduces that a 64-bit Windows build can only allocate up to LONG_MAX bytes.
That is due to a limitation in AC_COMPUTE_INT: it can't handle numbers larger than LONG_MAX. I attempted to work around this limitation by changing Gnulib to assume that the correct value is 2**63 - 1 if it doesn't fit in 'long', and by merging the latest Gnulib into the emacs-26 branch. Please give it a try.
[Prev in Thread] | Current Thread | [Next in Thread] |