From e7164117cec44708a87fb23c63babcd751f22231 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 4 Aug 2016 14:56:00 +0200 Subject: [PATCH] nedmalloc: work around overzealous GCC 6 warning 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 677d1b2794..3f28c0b818 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);