Use GCC's -Wlogical-op if possible

Nicolas Le Cam niko.lecam at gmail.com
Mon Jan 4 09:02:11 CST 2010


2010/1/4 Paul Vriens <paul.vriens.wine at gmail.com>:
> On 01/03/2010 10:12 PM, Gerald Pfeifer wrote:
>>
>> On Sun, 3 Jan 2010, Austin English wrote:
>>>>
>>>> On my FreeBSD test system I am see no warnings triggered by -Wlogical-op
>>>> any more.  How does it look on your side?
>>>
>>> ole32:
>>> usrmarshal.c:485: warning: logical ?&&? with non-zero constant will
>>> always evaluate as true
>>> usrmarshal.c:1098: warning: logical ?&&? with non-zero constant will
>>> always evaluate as true
>>> usrmarshal.c:1290: warning: logical ?&&? with non-zero constant will
>>> always evaluate as true
>>>
>>> oleaut32:
>>> variant.c:2090: warning: logical ?||? with non-zero constant will
>>> always evaluate as true
>>> variant.c:2090: warning: logical ?&&? with non-zero constant will
>>> always evaluate as true
>>>
>>> comctl32/tests:
>>> tab.c:520: warning: logical ?&&? with non-zero constant will always
>>> evaluate as true
>>> tab.c:540: warning: logical ?&&? with non-zero constant will always
>>> evaluate as true
>>> tab.c:563: warning: logical ?&&? with non-zero constant will always
>>> evaluate as true
>>> tab.c:978: warning: logical ?&&? with non-zero constant will always
>>> evaluate as true
>>
>> I had a patch for this one (comctl32/tests) which I received feedback on
>> and need to brush up.  I should be able to do so coming week.  Anybody
>> volunteering to look into the other ones?
>>
>>> kernel32/tests:
>>> atom.c:70: warning: logical ?||? with non-zero constant will always
>>> evaluate as true
>>
>> Gerald
>
> The attached is what I have on my F12 box (gcc 4.4.2 20091222):
>
> --
> Cheers,
>
> Paul.
>
>
>
>
Most of them are false positives because of a problem between gcc
4.{3,4}.x and the strchr being defined as a macro in libc, see gcc bug
#36513 [1]. My karmic box seems to output the same.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36513


-- 
Nicolas Le Cam



More information about the wine-devel mailing list