When compiling the last few releases of GCC I get many warnings in
format strings of the form:
../../gcc-10.3.0/gcc/analyzer/region-model.cc: In member function
'void ana::svalue_id::dump_node_name_to_pp(pretty_printer*) const':
../../gcc-10.3.0/gcc/analyzer/region-model.cc:205:19: warning:
unquoted identifier or keyword 'svalue_' in format [-Wformat-diag]
205 | pp_printf (pp, "svalue_%i", m_idx);
| ^~~~~~~
../../gcc-10.3.0/gcc/analyzer/region-model.cc: In member function
'void ana::region_id::dump_node_name_to_pp(pretty_printer*) const':
../../gcc-10.3.0/gcc/analyzer/region-model.cc:235:19: warning:
unquoted identifier or keyword 'region_' in format [-Wformat-diag]
235 | pp_printf (pp, "region_%i", m_idx);
| ^~~~~~~
../../gcc-10.3.0/gcc/analyzer/region-model.cc: In member function
'virtual void ana::svalue::dump_dot_to_pp(const ana::region_model&,
ana::svalue_id, pretty_printer*) const':
../../gcc-10.3.0/gcc/analyzer/region-model.cc:377:26: warning:
spurious trailing punctuation sequence '="' in format [-Wformat-diag]
377 | pp_printf (pp, " [label=\"");
| ^~~
../../gcc-10.3.0/gcc/analyzer/region-model.cc:377:20: warning:
unbalanced punctuation character '[' in format [-Wformat-diag]
377 | pp_printf (pp, " [label=\"");
| ^
../../gcc-10.3.0/gcc/analyzer/region-model.cc: In member function
'virtual void ana::region::dump_dot_to_pp(const ana::region_model&,
ana::region_id, pretty_printer*) const':
../../gcc-10.3.0/gcc/analyzer/region-model.cc:1382:72: warning:
spurious trailing punctuation sequence '="' in format [-Wformat-diag]
1382 | printf (pp, "
[shape=none,margin=0,style=filled,fillcolor=%s,label=\"",
| ^~~
These warnings seem spurious to me.
Are these warnings truly spurious or is there som part of the
standard I don't understand?
--Sidney Marshall