summaryrefslogtreecommitdiff
path: root/m4/manywarnings.m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-08-04 22:46:31 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-08-04 22:47:05 -0700
commitb8748dd0932cbcf44bcbde8591f5cebad7eebfb1 (patch)
treee6a09c879d36a427d04d48b05f8c287bd337f88f /m4/manywarnings.m4
parent0a24f47f0eeba688f92043ef8733e0f7d9836c18 (diff)
downloademacs-b8748dd0932cbcf44bcbde8591f5cebad7eebfb1.tar.gz
Merge from gnulib
This incorporates: 2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs 2017-08-01 manywarnings: port to 32-bit GCC bug * lib/gnulib.mk.in: Regenerate. * m4/manywarnings.m4: Copy from gnulib.
Diffstat (limited to 'm4/manywarnings.m4')
-rw-r--r--m4/manywarnings.m419
1 files changed, 15 insertions, 4 deletions
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index 2d35eff6a2c..6a8939b2c1e 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,4 +1,4 @@
-# manywarnings.m4 serial 8
+# manywarnings.m4 serial 10
dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -258,9 +258,20 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
# gcc --help=warnings outputs an unusual form for these options; list
# them here so that the above 'comm' command doesn't report a false match.
- # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal:
- ptrdiff_max_max=9223372036854775807
- gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$ptrdiff_max_max"
+ # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal
+ # and AC_COMPUTE_INT requires it to fit in a long:
+ AC_MSG_CHECKING([max safe object size])
+ AC_COMPUTE_INT([gl_alloc_max],
+ [(LONG_MAX < PTRDIFF_MAX ? LONG_MAX : PTRDIFF_MAX) < (size_t) -1
+ ? (LONG_MAX < PTRDIFF_MAX ? LONG_MAX : PTRDIFF_MAX)
+ : (size_t) -1],
+ [[#include <limits.h>
+ #include <stddef.h>
+ #include <stdint.h>
+ ]],
+ [gl_alloc_max=2147483647])
+ AC_MSG_RESULT([$gl_alloc_max])
+ gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$gl_alloc_max"
gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2"
gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2"
gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2"