https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105593
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jason Merrill from comment #5) > (In reply to Richard Biener from comment #4) > > fails to hide the -Wuninitialized with the C++ frontend, works correct with > > the C frontend and on the GCC 11 branch. > > I also get the warning on the 11 branch. And all the way back to the 4.1 > branch, which is the oldest I have handy; this doesn't seem like a > regression. I can confirm that even void bar (int); void baz() { int u = u; bar (u); } warns with the C++ frontend, so the self-init "trick" to suppress uninit diagnostics was never implemented in the new parser (it diagnoses with GCC 3.4 but not with 3.3). So it's kind-of a regression, but ...