On Thu, Jan 20, 2022 at 11:17:28AM +0100, Jakub Jelinek via Gcc-patches wrote: > > --- a/gcc/cp/error.cc > > +++ b/gcc/cp/error.cc > > @@ -768,6 +768,11 @@ class_key_or_enum_as_string (tree t) > > return "struct"; > > } > > +#if __GNUC__ >= 10 > > +#pragma GCC diagnostic push > > +#pragma GCC diagnostic ignored "-Wformat-diag" > > +#endif > > + > > /* Print out a class declaration T under the control of FLAGS, > > in the form `class foo'. */ > > @@ -851,6 +856,10 @@ dump_aggr_type (cxx_pretty_printer *pp, tree t, int > > flags) > > flags & ~TFF_TEMPLATE_HEADER); > > } > > +#if __GNUC__ >= 10 > > +#pragma GCC diagnostic pop > > +#endif
Oh, and one more thing, but this time not about this source file but about the warning. Does it handle the gettext case? I think -Wformat generally does, gettext has format_arg attribute. If the warning handles pp_printf ("<unnamed %s>", str); and pp_printf (cond ? "<unnamed %s>" : "<unnamed %s>", str); and pp_printf (cond ? "<unnamed %s>" : "something %s", str); and pp_printf (gettext ("<unnamed %s>"), str); then maybe it should also handle pp_printf (cond ? gettext ("<unnamed %s>") : "<unnamed %s>, str); and pp_printf (cond ? gettext ("<unnamed %s>") : "something %s, str); too? Jakub