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

--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
(In reply to David Malcolm from comment #2)
> Author: dmalcolm
> Date: Mon Sep 12 16:01:02 2016
> New Revision: 240095

The above commit fixes many of these issues; Martin identified some further
improvements here:
  https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01587.html
which I'll quote inline here:

On Mon, 2016-08-22 at 15:54 -0600, Martin Sebor wrote:
> A couple of things I noticed when getting the -Wformat-length code
> to use the new infrastructure from c-format.
> 
> Hints that suggest alternate directives that don't accept all
> the same flags as those used in the original should filter out
> those flags. For example, when passing a pointer to a "%#lx"
> directive, the hint should suggest "%s" for character pointers
> and "%p" for others rather than "%#s" or "%#p".  Similarly,
> when passing a string to a "%+i" or "% i" directive, the '+'
> and space flags should be removed.
> 
> Also, with -Wformat-signedness (but I'd say without it as well),
> the hints should respect the signedness of the arguments.  For
> example, the hint for "%u" with a long int argument should be
> "%lu" and not "%li".
> 
> Martin

Keeping this bug open until these are addressed.

Reply via email to