http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58488
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The warning machinery is only able to warn about vars in SSA form, vars which must live in memory can't be warned on easily. So, for such variables you only get warnings if the compiler is able as part of some optimization make the var non-addressable (e.g. inlining and propagation can help that, etc.), or scalar replacement of aggregates is able to break appart larger aggregates and use SSA form for those. Thus, you get better warnings with optimizations.