diff options
| author | Paul Eggert | 2017-09-09 11:10:35 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-09-09 11:11:51 -0700 |
| commit | d63123542ffd60dbec0c9038144329b99f0f1d65 (patch) | |
| tree | 8338da31228034a2e5db48e8e0840d0d126e51ed /src/eval.c | |
| parent | 715f0835b5a0c17f2fcb43d1e75d55adce1639a5 (diff) | |
| download | emacs-d63123542ffd60dbec0c9038144329b99f0f1d65.tar.gz emacs-d63123542ffd60dbec0c9038144329b99f0f1d65.zip | |
Improve --enable-gcc-warnings for MinGW64
This partially reverts my 2016-05-30 patch. Apparently MinGW64
still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
does not. Also, pacify tparam.c, which isn’t used on Fedora.
* lib-src/etags.c (process_file_name, TeX_commands):
* src/buffer.c (fix_overlays_before):
* src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
(cons_to_signed):
* src/editfns.c (Ftranslate_region_internal):
Prefer UNINIT to some stray value, as this simplifies
code-reading later.
* src/eval.c (CACHEABLE): New macro.
(internal_lisp_condition_case): Use it.
* src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index c2cd6c60ea4..a6612b93e25 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -30,6 +30,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 30 | #include "dispextern.h" | 30 | #include "dispextern.h" |
| 31 | #include "buffer.h" | 31 | #include "buffer.h" |
| 32 | 32 | ||
| 33 | /* CACHEABLE is ordinarily nothing, except it is 'volatile' if | ||
| 34 | necessary to cajole GCC into not warning incorrectly that a | ||
| 35 | variable should be volatile. */ | ||
| 36 | #if defined GCC_LINT || defined lint | ||
| 37 | # define CACHEABLE volatile | ||
| 38 | #else | ||
| 39 | # define CACHEABLE /* empty */ | ||
| 40 | #endif | ||
| 41 | |||
| 33 | /* Chain of condition and catch handlers currently in effect. */ | 42 | /* Chain of condition and catch handlers currently in effect. */ |
| 34 | 43 | ||
| 35 | /* struct handler *handlerlist; */ | 44 | /* struct handler *handlerlist; */ |
| @@ -1226,7 +1235,7 @@ internal_lisp_condition_case (Lisp_Object var, Lisp_Object bodyform, | |||
| 1226 | Lisp_Object handlers) | 1235 | Lisp_Object handlers) |
| 1227 | { | 1236 | { |
| 1228 | struct handler *oldhandlerlist = handlerlist; | 1237 | struct handler *oldhandlerlist = handlerlist; |
| 1229 | volatile ptrdiff_t clausenb = 0; | 1238 | ptrdiff_t CACHEABLE clausenb = 0; |
| 1230 | 1239 | ||
| 1231 | CHECK_SYMBOL (var); | 1240 | CHECK_SYMBOL (var); |
| 1232 | 1241 | ||