https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103502
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |egallager at gcc dot gnu.org --- Comment #6 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > The documentation > (https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options) > for the warning is clear here: > "Takes care of the common pun+dereference pattern in the front end: > *(int*)&some_float. " > > >3 is documented as the most precise option > > I think you misunderstood what precise means in this context really. > "Higher levels correspond to higher accuracy (fewer false positives). " -Wstrict-aliasing is kind of confusing in this regards since it's different from how other warnings with numerical levels work. Normally a higher numerical value to a warning option means "print more warnings" but for -Wstrict-aliasing it means "try harder to reduce the number of warnings". Perhaps this is an inconsistency that should be rectified?