https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120511
--- Comment #6 from Chris Leonard <chris.j.leonard at proton dot me> --- (In reply to Andrew Pinski from comment #5) > (In reply to Andrew Pinski from comment #4) > > >struct test t = {0}; > > > > Stopped warning in GCC 5. So maybe this is just on accident. > > Looks like that was PR 53119. It looks like it didn't fix the internal usage > or the outer most usage of "universal zero init". > > Then again in C23, {} should be used ... I think everyone can agree that C++, GNU C and C23's syntax for this `{}` is better. But I believe most existing C code uses the convention GCC refers to as "universal zero initializer", whether or not it's currently built with `-std=c23`, because `{0}` was the best we had in standard C until very recently.