Hi We have a number of do/while loops with NULL checks in their exit conditions:
#include <stdio.h> static void f(const char *s) __attribute__((nonnull(1))); int main(void) { const char *p = "X"; f(p); } static void f(const char *s) { do { printf("%s\n",s); s = NULL; } while (s != NULL); } Under a recent gcc 6 [*], we run into -Wnonnull warnings using the nonnull attribute: test.c: In function 'f': test.c:16:14: warning: nonnull argument 's' compared to NULL [-Wnonnull] } while (s != NULL); Am I missing sth.? Is this a false positive? I'd appreciate your guidance! Stefan [*] gcc-mp-6 (MacPorts gcc6 6-20160207_0) 6.0.0 20160207 (experimental)