https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68548
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-11-26 CC| |manu at gcc dot gnu.org Version|unknown |6.0 Blocks| |24639 Summary|gcc wrongly warns about |bogus "may be used |uninitialized data |uninitialized" (predicate | |analysis) Ever confirmed|0 |1 --- Comment #1 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Matt Turner from comment #0) > Created attachment 36842 [details] > u.c > > gcc -Wmaybe-uninitialized wrongly warns about data0 being uninitialized in > the attached test case. > > This may be a duplicate of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42145 No, it is not. This is just that the uninit predicate analysis is not powerful enough. It sees that the DEF is guarded by writemask_3(D) & 1, but it sees that the use is guarded by remaining_8 == 0, and it doesn't seem to analyse further than that. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639 [Bug 24639] [meta-bug] bug to track all Wuninitialized issues