[PATCH v2] c-format: Add -Wformat-int-precision option [PR80060]
Daniil Stas
daniil.stas@posteo.net
Sun Oct 31 14:13:39 GMT 2021
On Sun, 10 Oct 2021 23:10:20 +0000
Daniil Stas <daniil.stas@posteo.net> wrote:
> This option is enabled by default when -Wformat option is enabled. A
> user can specify -Wno-format-int-precision to disable emitting
> warnings when passing an argument of an incompatible integer type to
> a 'd', 'i', 'o', 'u', 'x', or 'X' conversion specifier when it has
> the same precision as the expected type.
>
> Signed-off-by: Daniil Stas <daniil.stas@posteo.net>
>
> gcc/c-family/ChangeLog:
>
> * c-format.c (check_format_types): Don't emit warnings when
> passing an argument of an incompatible integer type to
> a 'd', 'i', 'o', 'u', 'x', or 'X' conversion specifier when
> it has the same precision as the expected type if
> -Wno-format-int-precision option is specified.
> * c.opt: Add -Wformat-int-precision option.
>
> gcc/ChangeLog:
>
> * doc/invoke.texi: Add -Wformat-int-precision option
> description.
>
> gcc/testsuite/ChangeLog:
>
> * c-c++-common/Wformat-int-precision-1.c: New test.
> * c-c++-common/Wformat-int-precision-2.c: New test.
> ---
> This is an update of patch "c-format: Add -Wformat-same-precision
> option [PR80060]". The changes comparing to the first patch version:
>
> - changed the option name to -Wformat-int-precision
> - changed the option description as was suggested by Martin
> - changed Wformat-int-precision-2.c to used dg-bogus instead of
> previous invalid syntax
>
> I also tried to combine the tests into one file with #pragma GCC
> diagnostic, but looks like it's not possible. I want to test that
> when passing just -Wformat option everything works as before my patch
> by default. And then in another test case to check that passing
> -Wno-format-int-precision disables the warning. But looks like in GCC
> you can't toggle the warnings such as -Wno-format-int-precision
> individually but only can disable the general -Wformat option that
> will disable all the formatting warnings together, which is not the
> proper test.
Hi,
Can anyone review this patch?
Thank you
--
Daniil
More information about the Gcc-patches
mailing list