From: Johannes Schindelin Date: Thu, 04 Aug 2016 16:07:08 GMT Subject: [PATCH 2/2] nedmalloc: work around overzealous GCC 6 warning Message-ID: <57360f4885bdd5c36e190bea288f1e1f7f706071.1470326812.git.johannes.schindelin@gmx.de> In-Reply-To: With GCC 6, the strdup() function is declared with the "nonnull" attribute, stating that it is not allowed to pass a NULL value as parameter. In nedmalloc()'s reimplementation of strdup(), Postel's Law is heeded and NULL parameters are handled gracefully. GCC 6 complains about that now because it thinks that NULL cannot be passed to strdup() anyway. Let's just shut up GCC >= 6 in that case and go on with our lives. See https://gcc.gnu.org/gcc-6/porting_to.html for details. Signed-off-by: Johannes Schindelin --- compat/nedmalloc/nedmalloc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compat/nedmalloc/nedmalloc.c b/compat/nedmalloc/nedmalloc.c index 677d1b2..3f28c0b 100644 --- a/compat/nedmalloc/nedmalloc.c +++ b/compat/nedmalloc/nedmalloc.c @@ -956,6 +956,9 @@ void **nedpindependent_comalloc(nedpool *p, size_t elems, size_t *sizes, void ** char *strdup(const char *s1) { char *s2 = 0; +#if __GNUC__ >= 6 +#pragma GCC diagnostic ignored "-Wnonnull-compare" +#endif if (s1) { size_t len = strlen(s1) + 1; s2 = malloc(len); -- 2.9.0.281.g286a8d9