Thread: add -Wlogical-op to standard compiler options?

add -Wlogical-op to standard compiler options?

From
Peter Eisentraut
Date:
I think it might be worth adding -Wlogical-op to the standard warning
options (for supported compilers, determined by configure test).

`-Wlogical-op'    Warn about suspicious uses of logical operators in expressions.    This includes using logical
operatorsin contexts where a bit-wise    operator is likely to be expected.
 

In addition to what it says there, it appears to warn about illogical
combinations of < and >.  I have been using it locally for a while
without problems.  We have already found a couple of bugs this way.




Re: add -Wlogical-op to standard compiler options?

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> I think it might be worth adding -Wlogical-op to the standard warning
> options (for supported compilers, determined by configure test).

Does that add any new warnings with the current source code, and if
so what?
        regards, tom lane



Re: add -Wlogical-op to standard compiler options?

From
Peter Eisentraut
Date:
On 11/15/12 9:40 AM, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
>> I think it might be worth adding -Wlogical-op to the standard warning
>> options (for supported compilers, determined by configure test).
> 
> Does that add any new warnings with the current source code, and if
> so what?

none




Re: add -Wlogical-op to standard compiler options?

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> On 11/15/12 9:40 AM, Tom Lane wrote:
>> Peter Eisentraut <peter_e@gmx.net> writes:
>>> I think it might be worth adding -Wlogical-op to the standard warning
>>> options (for supported compilers, determined by configure test).

>> Does that add any new warnings with the current source code, and if
>> so what?

> none

No objection from me then.
        regards, tom lane



Re: add -Wlogical-op to standard compiler options?

From
Jeff Janes
Date:
On Thu, Nov 15, 2012 at 1:46 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> On 11/15/12 9:40 AM, Tom Lane wrote:
>> Peter Eisentraut <peter_e@gmx.net> writes:
>>> I think it might be worth adding -Wlogical-op to the standard warning
>>> options (for supported compilers, determined by configure test).
>>
>> Does that add any new warnings with the current source code, and if
>> so what?
>
> none

Using gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4),  I get dozens of
warnings, all apparently coming from somewhere in the MemSet macro.

example:

pl_handler.c:301: warning: logical '&&' with non-zero constant will
always evaluate as true

Probably has something to do with:
                       /* \                        *      If MEMSET_LOOP_LIMIT == 0, optimizer
should find \                        *      the whole "if" false at compile time. \                        */ \
             MEMSET_LOOP_LIMIT != 0) \
 

Cheers,

Jeff



Re: add -Wlogical-op to standard compiler options?

From
Peter Eisentraut
Date:
On Wed, 2012-11-21 at 11:46 -0800, Jeff Janes wrote:
> Using gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4),  I get dozens of
> warnings, all apparently coming from somewhere in the MemSet macro. 

OK, reverted.

It looks like they dialed it down to a more useful volume in GCC 4.5,
but that doesn't really help us.