On Wed, May 06, 2015 at 06:18:23PM +0200, Marek Polacek wrote: > On Wed, May 06, 2015 at 04:58:03PM +0200, Jakub Jelinek wrote: > > Also, it would be nice to figure why gcc doesn't warn (for both meaningful > > changes, in the first snippet I believe gcc just determines the static > > function is noreturn and that is why it correctly doesn't warn). > > I thought Marek has added patches for the !x == Y case recently, so it would > > be nice to find out why we don't warn in that case. > > Yes, I'd expect a warning to trigger on that. > > > Similarly for the bool case, does clang warn on +/++ operation on bool > > (which > > is well defined, supposedly it should be some style warning?), or something > > else? > > clang++ warns for > bool b = false; > b++; > but not for > bool b = false; > b += 2;
As both are just fancy ways of b = true;, supposedly we want to warn on both. The question is under which -W* option, and whether to include it even in -Wall, or just in -W. Jakub