[Bug c/77328] incorrect caret location in -Wformat calling printf via a macro
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 31 15:46:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77328
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |7.3.0, 8.2.0, 9.0
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
GCC 8 and 9 output for the test case is slightly different (underlining the
sprintf argument is a nice improvement) but still not what it should be:
pr77328.c: In function ‘f’:
pr77328.c:7:30: warning: format ‘%i’ expects argument of type ‘int’, but
argument 4 has type ‘double’ [-Wformat=]
__builtin_sprintf (d, "%i %i", 1, 2.0);
~^ ~~~
%f
pr77328.c:9:9: warning: format ‘%i’ expects argument of type ‘int’, but
argument 4 has type ‘double’ [-Wformat=]
P (d, "%i %i", 1, 2.0);
^~~~~~~ ~~~
pr77328.c:5:45: note: in definition of macro ‘P’
#define P(d, f, a, b) __builtin_sprintf (d, f, a, b)
^
More information about the Gcc-bugs
mailing list