On Fri, Dec 16, 2016 at 07:00:06PM +0000, Joseph Myers wrote: > On Fri, 16 Dec 2016, Martin Sebor wrote: > > > I don't claim it can't be improved but it seems pretty good as > > it is already. Among the 6 instances it's found in GCC three > > look like real bugs. > > FWIW it's found at least one real bug in glibc > <https://sourceware.org/bugzilla/show_bug.cgi?id=20978> - that's a case > where strlen is called on a pointer that can never be non-null if the > strlen call is reached. (I don't know if there are other cases in glibc, > whether genuine bugs or false positives, that would appear later in the > build once that bug is fixed.)
Thanks. Reduced to something like: int foo (const char *name) { if (name) return 6; return __builtin_strlen (name); } This is warned about both with Martin's late warning and my after ccp2 warning version. We should include it in gcc testsuite. Jakub