static analysis of C/C++ code
Go to file
Reijo Tomperi 08b25dc0d4 Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class.
Class GlobalFunction is now private subclass of Tokenizer. 
Global functions CheckGlobalFunctionUsage, FillFunctionList and GetFunctionTokenByName are now member functions of Tokenizer.
2008-11-15 22:41:56 +00:00
man Applied patch "errors_only_man" that adds description for "--errorsonly" to the man page. This was submitted by kimmov in bug 2277848 2008-11-15 06:44:32 +00:00
COPYING Licensing: Using the GPL 3 license 2008-10-26 07:55:15 +00:00
CheckBufferOverrun.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
CheckBufferOverrun.h Refactoring: Tokenizer object given as a parameter to most of the classes 2008-11-12 21:34:47 +00:00
CheckClass.cpp Uninitialized Member Variables: Fixed bug 'false positive on multi constructors' 2008-11-15 15:22:10 +00:00
CheckClass.h Refactoring: Tokenizer object given as a parameter to most of the classes 2008-11-12 21:34:47 +00:00
CheckHeaders.cpp Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 22:39:47 +00:00
CheckHeaders.h Refactoring: Tokenizer object given as a parameter to most of the classes 2008-11-12 21:34:47 +00:00
CheckMemoryLeak.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
CheckMemoryLeak.h Memory Leak: Handling Linux lists better => Detect more leaks 2008-11-15 18:24:40 +00:00
CheckOther.cpp cleanup files 2008-11-15 13:05:58 +00:00
CheckOther.h cleanup files 2008-11-15 13:05:58 +00:00
CommonCheck.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
CommonCheck.h Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
FileLister.cpp FileLister.* and testtokenize.cpp, changed encoding to utf-8 2008-11-06 19:40:49 +00:00
FileLister.h FileLister.* and testtokenize.cpp, changed encoding to utf-8 2008-11-06 19:40:49 +00:00
Makefile Simplify Tokens: Replace NULL with 0 and '(char *)0' with '0' 2008-11-15 16:27:09 +00:00
cppcheck.cbproj Borland C++: Added files "cppcheck" and "settings" to the projects 2008-11-15 07:01:07 +00:00
cppcheck.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
cppcheck.h Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +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++ Express 2008: Added project 'testrunner' and updated the project 'cppcheck' 2008-11-15 07:15:01 +00:00
main.cpp Refactoring: New classes CppCheck and Settings. Code from main.cpp was moved to cppcheck.cpp 2008-11-14 22:26:38 +00:00
preprocessor.cpp Refactoring: Following new classes were created: 2008-11-11 06:42:09 +00:00
preprocessor.h Refactoring: Following new classes were created: 2008-11-11 06:42:09 +00:00
readme.txt updated command syntax example 2008-02-22 14:58:53 +00:00
settings.cpp Refactoring: New classes CppCheck and Settings. Code from main.cpp was moved to cppcheck.cpp 2008-11-14 22:26:38 +00:00
settings.h Refactoring: New classes CppCheck and Settings. Code from main.cpp was moved to cppcheck.cpp 2008-11-14 22:26:38 +00:00
testbufferoverrun.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
testcharvar.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
testconstructors.cpp Uninitialized Member Variables: Fixed bug 'false positive on multi constructors' 2008-11-15 15:22:10 +00:00
testdivision.cpp Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 22:39:47 +00:00
testincompletestatement.cpp Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 22:39:47 +00:00
testmemleak.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
testpreprocessor.cpp Refactoring: Following new classes were created: 2008-11-11 06:42:09 +00:00
testrunner.cbp codeblocks: Added project file 'testrunner.cbp' 2008-11-15 18:03:59 +00:00
testrunner.cbproj Borland C++: Added files "cppcheck" and "settings" to the projects 2008-11-15 07:01:07 +00:00
testrunner.cpp Refactoring: New classes CppCheck and Settings. Code from main.cpp was moved to cppcheck.cpp 2008-11-14 22:26:38 +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 SimplifyTokens: Replace 'sizeof(*abc)' with '100'. This prevents false positives in checks 2008-11-15 17:21:35 +00:00
testsuite.cpp Testing: Only run tests in a specified class 2008-10-26 11:11:26 +00:00
testsuite.h GPL: Added comment in testsuite.h 2008-11-08 13:15:48 +00:00
testtokenize.cpp Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 22:39:47 +00:00
testunusedprivfunc.cpp Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 22:39:47 +00:00
testunusedvar.cpp Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 22:39:47 +00:00
todo.txt todo: added memory leak examples 2008-11-10 18:52:15 +00:00
tokenize.cpp Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +00:00
tokenize.h Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. 2008-11-15 22:41:56 +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)