https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71157
--- Comment #9 from Paul Eggert <eggert at gnu dot org> --- (In reply to Eric Gallager from comment #8) > Try marking it up with __attribute__((returns_nonnull)) and/or > __attribute__((nonnull)). If the first one works, then it's a case where GCC > should suggest it, in which case it's bug 84203. Neither suggestion works, unfortunately. That is, I tried undoing the abovementioned patch to etags.c that works around the problem, and then modifying the declaration of skip_spaces this way: static char *skip_spaces (char *) __attribute__ ((nonnull (1))); or this way: static char *skip_spaces (char *) __attribute__ ((returns_nonnull)); Neither modification worked: in both cases I still got the bogus warnings. This was with gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0.