www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - A small bug database

The idea of creating a bug data base is interesting. This little 
data base collects only the bugs found by the PVS-Studio static 
analysis tool in Open Source projects:

http://www.viva64.com/en/examples/

- - - - - - - - - - -

I have added some examples of bugs in my "Require 
parenthesization of ternary operator when compounded" enhancement 
request:

http://d.puremagic.com/issues/show_bug.cgi?id=8757

This is a common enough bug, worth avoiding with a change in D 
design (but it's a small breaking change).

- - - - - - - - - - -

The return value of function 'xxxxx' is required to be utilized:<

http://www.viva64.com/en/examples-V530/ In D there are several Phobos functions like empty() that have no side effects, so ignoring their return value is sometimes a bug. In GNU-C there is a function attribute named "warn_unused_result": http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html In D a warn_unused_result is maybe handy for functions like empty(). - - - - - - - - - - - http://www.viva64.com/en/examples-V564/ It's mostly about the (!x & y) bug pattern, that is not yet forbidden in D: http://d.puremagic.com/issues/show_bug.cgi?id=5409 - - - - - - - - - - - http://www.viva64.com/en/examples-V588/ This is about the "=+" and "=-" bug patterns. Not very common but easy to spot. - - - - - - - - - - - Bye, bearophile
Oct 21 2012