From: Pádraig Brady Date: Fri, 2 Oct 2015 19:21:50 +0000 (+0100) Subject: xalloc: avoid GCC 5.1 warning on 32 bit X-Git-Tag: v1.0~6938 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=213d5545f67d726ccffa13842577be47aca93d8d;p=gnulib.git xalloc: avoid GCC 5.1 warning on 32 bit * lib/xalloc.h: Disable -Wstrict-overflow for uses of xalloc_oversized(), which was seen to give this warning on GCC 5.1 on 32 bit: "assuming signed overflow does not occur when simplifying conditional". --- diff --git a/ChangeLog b/ChangeLog index 1fe13e22a0..116bcbae53 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-10-02 Pádraig Brady + + xalloc: avoid GCC 5.1 warning on 32 bit + * lib/xalloc.h: Disable -Wstrict-overflow for uses of + xalloc_oversized(), which was seen to give this warning + on GCC 5.1 on 32 bit: "assuming signed overflow does not occur + when simplifying conditional". + 2015-10-02 Daiki Ueno uniname/uniname-tests: avoid compiler warnings diff --git a/lib/xalloc.h b/lib/xalloc.h index 81ef680a3a..b250e2d487 100644 --- a/lib/xalloc.h +++ b/lib/xalloc.h @@ -94,6 +94,12 @@ char *xstrdup (char const *str) #define XCALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) +/* GCC 5.1 gives an erroneous warning on 32 bit for xalloc_oversized(): + "assuming signed overflow does not occur when simplifying conditional". */ +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wstrict-overflow" +#endif /* Allocate an array of N objects, each with S bytes of memory, dynamically, with error checking. S must be nonzero. */ @@ -121,6 +127,10 @@ xnrealloc (void *p, size_t n, size_t s) return xrealloc (p, n * s); } +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic pop +#endif + /* If P is null, allocate a block of at least *PN such objects; otherwise, reallocate P so that it contains more than *PN objects each of S bytes. S must be nonzero. Set *PN to the new number of