--- Comment #2 from 2010-04-10 19:54:25 PDT ---
>Care to quantify 'frequent'?<

I'd like to, but finding hard statical data about bugs is hard. Often you just
have to use your programming experience and memory of past mistakes. I have
programming experience, and for the last years I am writing down all my bugs.
You can ask the GCC developers what kind of statical data they have used to
decide to recently introduce that warning into gcc. I think they have no
reliable statistical data. But they are usually smart people, so you can't just
ignore their example.

>Just because something can cause a bug doesn't make it a disaster.<

Just because something can't cause disasters but just bugs doesn't justify
ignoring it. And sometimes silent bugs like this one actually cause disasters.

>I can't recall ever making a bit wise precedence error myself. Of course, that 
>too isn't proof of anything.<

I have done several of similar bugs. Later I have taken the habit of always
putting parentheses around shift and bitwise ops, if they are compound with
other things.
That post on the D newsgroup shows Adam Ruppe too once has done this bug.

See the -Wparentheses here:
It says several interesting things. It also says:

>Warn if parentheses are omitted in certain contexts, such as when there is an 
>assignment in a context where a truth value is expected, or when operators are 
>nested whose precedence people often get confused about.<

They say "often get confused about".

That warning switch also warns against probably wrong code like (this is
another common source of bugs that's missing in Python):

if (a)
  if (b)
    foo ();
  bar ();

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to