Messages in this thread | | | From | David Howells <> | Subject | Re: Compiler warning about comparing result of !!test_bit() to an integer | Date | Mon, 27 Apr 2015 16:17:33 +0100 |
| |
Jiri Kosina <jkosina@suse.cz> wrote:
> gcc-5 became somehow very picky about '!!' usages. I recall quite some > internal discussions with our gcc guys, which resulted in upstream gcc > bugzillas being filled about gcc warning in completely legitimate cases.
I suspect it's more that it's picky about '!' usages - which covers '!!'. I'm guessing they're trying to pick up people doing if(!x==y) when they mean if(!(x==y)) or somesuch. Jiri Kosina <jkosina@suse.cz> wrote:
> This is because we want to handle autorepeat (i.e. value 2) correctly. Now > that you ask, it seems to me that we actually should be doing > > !!test_bit(usage->code, input->key) != !!value
I wonder if you could cast to bool instead? test_bit() possibly *should* return a bool these days, thus rendering the '!!' unnecessary.
> to be really exact (i.e. so that we really can't have oscilating state). > > I'll think about it a little bit more, and eventually probably fix it this > way with your Reported-by: if you are OK with that.
Yep.
David
| |