build: avoid -Wshift-negative-value warning
authorJim Meyering <meyering@fb.com>
Mon, 24 Aug 2015 16:10:51 +0000 (09:10 -0700)
committerJim Meyering <meyering@fb.com>
Mon, 24 Aug 2015 16:30:48 +0000 (09:30 -0700)
Configured with --enable-gcc-warnings, a gcc-6.x build would fail with this:

  gzip.c:118:32: error: left shift of negative value
   #define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1))

* gzip.c [OFF_T_MAX]: Define in terms of TYPE_MAXIMUM, not OFF_T_MIN.
[OFF_T_MIN]: Remove now-unused definition.
Include "intprops.h" for definiton of TYPE_MAXIMUM.
* bootstrap.conf (gnulib_modules): Add intprops.

bootstrap.conf
gzip.c

index deb548f8cfeedd49aa9dcce25c1ba214456a64c8..1387106c4e4f93d10be1957b10f02d5dd6f4e43a 100644 (file)
@@ -39,6 +39,7 @@ gnu-web-doc-update
 gnumakefile
 gnupload
 ignore-value
+intprops
 largefile
 lib-ignore
 lstat
diff --git a/gzip.c b/gzip.c
index 8c409283a188e662f002aa5779b38ac8e5761877..40fee3584cd6fe93ef57516195e0cd58fd2638c8 100644 (file)
--- a/gzip.c
+++ b/gzip.c
@@ -65,6 +65,7 @@ static char const *const license_msg[] = {
 #include "closein.h"
 #include "tailor.h"
 #include "gzip.h"
+#include "intprops.h"
 #include "lzw.h"
 #include "revision.h"
 #include "timespec.h"
@@ -114,12 +115,8 @@ static char const *const license_msg[] = {
   off_t lseek (int fd, off_t offset, int whence);
 #endif
 
-#ifndef OFF_T_MIN
-#define OFF_T_MIN (~ (off_t) 0 << (sizeof (off_t) * CHAR_BIT - 1))
-#endif
-
 #ifndef OFF_T_MAX
-#define OFF_T_MAX (~ (off_t) 0 - OFF_T_MIN)
+# define OFF_T_MAX TYPE_MAXIMUM (off_t)
 #endif
 
 /* Use SA_NOCLDSTOP as a proxy for whether the sigaction machinery is