static analysis of C/C++ code
Go to file
Daniel Marjamäki 41aa2f8810 Borland C++ : minor update to make the code compilable with borland c++ 2008-12-10 19:14:38 +00:00
man Verbose: Added line change to help text printing and updated man page 2008-11-30 10:38:58 +00:00
COPYING Licensing: Using the GPL 3 license 2008-10-26 07:55:15 +00:00
CheckBufferOverrun.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
CheckBufferOverrun.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
CheckClass.cpp Virtual destructor : minor fix to avoid false positives when more modifiers are used 2008-12-10 19:13:40 +00:00
CheckClass.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
CheckFunctionUsage.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
CheckFunctionUsage.h Refactoring: Renamed some member variables: variable -> _variable 2008-11-23 11:08:07 +00:00
CheckHeaders.cpp Refactoring: Rest of the public variables in TOKEN moved to private area. 2008-12-08 22:02:37 +00:00
CheckHeaders.h increased constness of member variable _tokenizer in the Check* classes 2008-11-22 20:00:36 +00:00
CheckMemoryLeak.cpp Refactoring: Moved token creation and token deletion into TOKEN class. Added previous() (not tested yet) 2008-12-09 17:31:04 +00:00
CheckMemoryLeak.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
CheckOther.cpp Borland C++ : minor update to make the code compilable with borland c++ 2008-12-10 19:14:38 +00:00
CheckOther.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
FileLister.cpp FileLister: Borland can use windows api for file searching 2008-12-10 19:11:48 +00:00
FileLister.h FileLister: Borland can use windows api for file searching 2008-12-10 19:11:48 +00:00
Makefile Added test file for TOKEN class 2008-12-09 18:13:38 +00:00
cppcheck.cbp Project file updated (testtoken.cpp was missing), added TOKEN::printOut() function to help with debugging. 2008-12-09 22:03:05 +00:00
cppcheck.cbproj Borland C++ : Updated project files cppcheck and testrunner 2008-12-08 06:45:52 +00:00
cppcheck.cpp cppcheck : Set variable ids 2008-12-09 07:27:39 +00:00
cppcheck.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
cppcheck.sln Added Visual C++ 2008 Express solution and project files 2008-11-03 18:57:18 +00:00
cppcheck.vcproj Visual C++: Updated the project file 2008-11-24 07:47:13 +00:00
cppcheckexecutor.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
cppcheckexecutor.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
errorlogger.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
main.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
preprocessor.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
preprocessor.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
readme.txt updated command syntax example 2008-02-22 14:58:53 +00:00
settings.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
settings.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testbufferoverrun.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testcharvar.cpp Refactoring: Removed _settings member from the Tokenizer 2008-11-25 18:44:35 +00:00
testclass.cpp Virtual destructors : Don't check base classes when inheritance is 2008-12-07 10:13:51 +00:00
testconstructors.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testdivision.cpp Refactoring: Tokenizer - renaming functions, moved the 'tokenizeCode' to the private section 2008-11-25 18:34:51 +00:00
testfunctionusage.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testincompletestatement.cpp Refactoring: Tokenizer - renaming functions, moved the 'tokenizeCode' to the private section 2008-11-25 18:34:51 +00:00
testmemleak.cpp testmemleak : added a unit test that ensures that the variable id handling works correctly. But it's currently not working, and therefore it's commented out 2008-12-09 07:27:11 +00:00
testpreprocessor.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testrunner.cbproj Borland C++ : Updated project files cppcheck and testrunner 2008-12-08 06:45:52 +00:00
testrunner.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testrunner.sln Visual C++ Express 2008: Added project 'testrunner' and updated the project 'cppcheck' 2008-11-15 07:15:01 +00:00
testrunner.vcproj Visual C++ Express 2008: Added project 'testrunner' and updated the project 'cppcheck' 2008-11-15 07:15:01 +00:00
testsimplifytokens.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testsuite.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testsuite.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testtoken.cpp Added test file for TOKEN class 2008-12-09 18:13:38 +00:00
testtokenize.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
testunusedprivfunc.cpp Refactoring: Tokenizer - renaming functions, moved the 'tokenizeCode' to the private section 2008-11-25 18:34:51 +00:00
testunusedvar.cpp Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00
todo.txt todo: added memory leak examples 2008-11-10 18:52:15 +00:00
token.cpp Project file updated (testtoken.cpp was missing), added TOKEN::printOut() function to help with debugging. 2008-12-09 22:03:05 +00:00
token.h Project file updated (testtoken.cpp was missing), added TOKEN::printOut() function to help with debugging. 2008-12-09 22:03:05 +00:00
tokenize.cpp Refactoring: Moved token creation and token deletion into TOKEN class. Added previous() (not tested yet) 2008-12-09 17:31:04 +00:00
tokenize.h Formatting: uniformize end of lines. 2008-12-09 00:49:32 +00:00

readme.txt


=========
C++ check
=========



Compiling

  Any C++ compiler should work. 
  There are no dependencies.

  The Makefile works under Linux.
  To make it work under Windows, change "g++" to "gxx".

  I haven't been able to test it on other platforms.



Usage

  The syntax is:
      cppcheck [--all] [--style] [--recursive] [filename1] [filename2]

  The error messages will be printed to stderr.

  Example (Check all files. Use all checks):
      cppcheck -style --all --recursive


Recommendations

  Create a shell script that checks all files.
  See "checkproj.bat" for an example of how it can be done under Windows.

  When the "--all" flag is given you may get a lot of error messages.

  To dump the messages to a textfile you can use a command like this:
      cppcheck --all filename.cpp 2> messages.txt

  If you want to filter the messages you could use:
    * grep to filter out specific types of messages
    * diff to compare old messages with new messages. There are even GUIs for
      this.



Suggestions

  I'd like to get suggestions about new checks.



Author

  Daniel Marjamäki   (danielm77@spray.se)