aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorPaul Eggert2017-09-09 11:10:35 -0700
committerPaul Eggert2017-09-09 11:11:51 -0700
commitd63123542ffd60dbec0c9038144329b99f0f1d65 (patch)
tree8338da31228034a2e5db48e8e0840d0d126e51ed /src/eval.c
parent715f0835b5a0c17f2fcb43d1e75d55adce1639a5 (diff)
downloademacs-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.c11
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