[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Need help with improving package descriptions for Cppcheck



Hi,

I think it is better to just remove the sentence if you are unsure about how it should be written. I also changed the wording of the operator= error wording and merged the suggested checks. The checks that I merged do very different things, but my reason for merging is that if you don't see the difference, it is likely that others (even with high knowledge of C and C++) won't see the difference either, so there is no point in showing that many alternatives. I also changed "cpp file" into "C++ code".

I think this is starting to be what I'm goind to use, but I will still submit it for final evaluation. If no comments are received I will use this.

Thanks for you help.


----------------
tool for static C/C++ code analysis

Cppcheck is a command-line tool that tries to detect bugs that your
C/C++ compiler doesn't see. It is versatile, and can check non-standard
code including various compiler extensions, inline assembly code, etc.
Its internal preprocessor can handle includes, macros, and several
preprocessor commands. While Cppcheck is highly configurable, you can start using it just by giving it a path to the source code.

It includes checks for:
* pointers to out-of-scope auto variables;
* assignment of auto variables to an effective parameter of a function;
* out-of-bounds errors in arrays and STL;
* missing class constructors;
* variables not initialized by a constructor;
* use of memset, memcpy, etcetera on a class;
* non-virtual destructors for base classes;
* operator= not returning a constant reference to itself;
* use of deprecated functions (mktemp, gets, scanf);
* exceptions thrown in destructors;
* memory leaks in class or function variables;
* C-style pointer cast in C++ code;
* redundant if
* misuse of the strtol or sprintf functions;
* unsigned division or division by zero;
* unused functions and struct members;
* passing parameters by value;
* misuse of signed char variables;
* unusual pointer arithmetic (such as "abc" + 'd');
* dereferenced null pointers;
* incomplete statements;
* misuse of iterators when iterating through a container;
* dereferencing of erased iterators;
* use of invalidated vector iterators/pointers;

--
Reijo


Reply to: