This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -Wparentheses lumps too much together


Joe Buck wrote:
On Fri, Jan 11, 2008 at 09:34:29AM +0200, Rehno Lindeque wrote:
Just a note: Operator precedence is taught as logical AND comes before
OR in logic courses. So it is a sort of a standard mathematical
convention just like + and *. In fact, OR is even represented as a +
in some notations. However it might not be practical to assume all
programmers have a background in logic.

A warning that flagged code like


if (c1 || c2 && c3)
   ...

would swamp users in warnings, since this kind of code is extremely
common, and this isn't the kind of thing that anyone who's not a total C
beginner has trouble with.

I find it a valuable warning, I think it is a mistake to rely on dubious precedence for cases like this (dubious because the analogy of || and && with + and * is stretching things).

I must say I prefer the Ada syntax here, which prohibits mixing
of different logical operators in this way.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]