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

Reply via email to