https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87489

--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> ---
(In reply to Andrew Church from comment #5)
> Simpler testcase (based on the testcase in bug 87041):

This is a case of the warning being issued by the front end well before dead
code elimination has had a chance to run.  The fix is conceptually simple:
remove the warning from the front-end and enhance the middle-end implementation
to handle the cases it doesn't handle, such as:

  int foo (int i, const char *s)
  {
    return strcmp (i ? s : 0, "");
  }

But the middle-end implementation of -Wnonnull only runs with optimization
enabled (just after CCP) so the change would have the effect of a large number
of  false negatives at -O0.  I'm not sure handling the constant test case in
comment #5 is worth it.

Reply via email to