Numerous formatted messages from the inliner use %f, mostly as %f, but occasionally with length modifiers.
This patch implements the simplest case of "%f" for pp_format (with no modifier support) to make it easier to port these messages from fprintf to dump_printf_loc.
The selftest has an assertion that %f on 1.0 is printed as "1.000000". This comes from the host's sprintf, and I believe this is guaranteed by POSIX: "If the precision is missing, it shall be taken as 6". If this is an issue I can drop the selftest.
- c-format.c (gcc_dump_printf_char_table): Add entry for %f.
- pretty-print.c (pp_format): Handle %f. (selftest::test_pp_format): Add test of %f.
- pretty-print.h (pp_double): New macro.
- gcc.dg/format/gcc_diag-10.c: Add coverage for %f.
e75dc1cba8f Support %f in pp_format
gcc/ChangeLog | 6 ++++++
gcc/c-family/ChangeLog | 4 ++++
gcc/c-family/c-format.c | 3 +++
gcc/pretty-print.c | 6 ++++++
gcc/pretty-print.h | 1 +
gcc/testsuite/ChangeLog | 4 ++++
gcc/testsuite/gcc.dg/format/gcc_diag-10.c | 2 ++
7 files changed, 26 insertions(+)