On Thu, Jun 8, 2023 at 7:57 PM Marek Polacek via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > The manual is incorrect in saying that the option does not warn > about designated initializers, which it does in C++. Whether the > divergence in behavior is desirable is another thing, but let's > at least make the manual match the reality.
OK. > PR c/39589 > PR c++/96868 > > gcc/ChangeLog: > > * doc/invoke.texi: Clarify that -Wmissing-field-initializers doesn't > warn about designated initializers in C only. > --- > gcc/doc/invoke.texi | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 6d08229ce40..0870f7aff93 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -9591,8 +9591,9 @@ struct s @{ int f, g, h; @}; > struct s x = @{ 3, 4 @}; > @end smallexample > > -This option does not warn about designated initializers, so the following > -modification does not trigger a warning: > +@c It's unclear if this behavior is desirable. See PR39589 and PR96868. > +In C this option does not warn about designated initializers, so the > +following modification does not trigger a warning: > > @smallexample > struct s @{ int f, g, h; @}; > > base-commit: 1379ae33e05c28d705f3c69a3f6c774bf6e83136 > -- > 2.40.1 >