https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120511
--- Comment #2 from Chris Leonard <chris.j.leonard at proton dot me> --- Note that the exact same code using an int instead of a double has no warning. So either the code using int needs a warning, or this code needs no warning. Elements in an array of structs should be initialised the same way any individual struct would be initialised, and that's the behaviour when the first element is not a floating-point type.