https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119388
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=98871 Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This was done on purpose. See PR 98871. "The warning is correct, but I am unable to properly silence this warning because the warning doesn't "show up" at the location where the variable is declared, but where it is used, which is another function, which receives it via pointer." So basically the use is not where the uninitialized variable is tied to but rather it is tied to the definition of the outer variable in this case the variable of type Stuff .