On Tue, Sep 14, 2021 at 11:32:13AM +0200, Martin Liška wrote: > On 9/10/21 15:05, Basile Starynkevitch wrote: > > In the Bismon static source code analyzer on > > https://github.com/bstarynk/bismon/ commit ad8b6270691e > > > > (funded by http://decoder-project.eu/ ....) which contains some GPLv3+ GCC > > plugin code under directory gccplugins/ > > > > I am getting when compiling it > > > > > > gcc10_metaplugin_BMGCC.cc: In function ‘int plugin_init(plugin_name_args*, > > plugin_gcc_version*)’: > > gcc10_metaplugin_BMGCC.cc:165:85: warning: unquoted whitespace character > > ‘\x0a’ in format [-Wformat-diag] > > 165 | warning(UNKNOWN_LOCATION, "BISMON GCC10 METAPLUGIN: datestamp > > difference for %s:\n" > > | ^~~ > > 166 | " plugin has %s, GCC had %s; this is risky.", > > | ~~ > > gcc10_metaplugin_BMGCC.cc:169:84: warning: unquoted whitespace character > > ‘\x0a’ in format [-Wformat-diag] > > 169 | warning(UNKNOWN_LOCATION, "BISMON GCC10 METAPLUGIN: devphase > > difference for %s:\n" > > | ^~~ > > 170 | " plugin has %s, GCC had %s; this is risky.", > > | ~~ > > gcc10_metaplugin_BMGCC.cc:174:89: warning: unquoted whitespace character > > ‘\x0a’ in format [-Wformat-diag] > > 174 | warning(UNKNOWN_LOCATION, "BISMON GCC10 METAPLUGIN: > > configuration difference for %s:\n" > > | ^~~ > > 175 | " plugin has %s, GCC had %s; this is risky.", > > | ~~ > > gcc10_metaplugin_BMGCC.cc: In function ‘void parse_plugin_arguments(const > > char*, plugin_name_args*)’: > > gcc10_metaplugin_BMGCC.cc:405:53: warning: unquoted sequence of 2 > > consecutive space characters in format [-Wformat-diag] > > 405 | inform (UNKNOWN_LOCATION, "Bismon plugin %qs (%s:%d) will > > handle GCC include-file events with prefix %qs", > > | ^~ > > > > The warning -Wformat-diag is internal GCC warning that hasn't been > documented. I'm CC'ing the warning author.
Yeah. But the warning is correct, one shouldn't have \n in warning/error etc. format strings, instead one can emit multiple warnings perhaps in a warning group, or a warning followed by inform, in any case the follow-up diagnostic should be done only if the first warning returned true. Jakub