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)