static analysis of C/C++ code
Go to file
Edoardo Prezioso 0f1f3c0f5f Tokenizer::removeRedundantCondition: refactoring due to various reasons.
1) Remove the dead code with 'eraseDeadCode', not with 'eraseTokens' because of the possible presence of labels.
2) It's impossible that in tokenizer there is pattern like 'if (true|false) {code;} else if (cond) {code_cond;}' because the function 'Tokenizer::elseif' adds '{' between 'else' and 'if', hence a code path is redundant, so it's removed from code.
2012-01-26 22:32:11 +01:00
Cppcheck.xcodeproj Adapted Xcode project for version 1.45 and Xcode 3.2.4 2010-10-21 22:57:06 +02:00
cli - Correctly set Scope::function variable in symboldatabase 2012-01-21 10:08:09 +01:00
externals/tinyxml Don't use relative paths in tinyxml.pri. 2010-12-18 16:29:58 +02:00
gui GUI: Refactorings. Changed names. Added comments. 2012-01-15 07:59:54 +01:00
htdocs htdocs: updated download link to 1.52 installer 2011-12-10 17:58:15 +01:00
htmlreport Fixed #3057 (cppcheck-htmlreport fails since 1.50) 2011-08-30 20:30:52 +02:00
lib Tokenizer::removeRedundantCondition: refactoring due to various reasons. 2012-01-26 22:32:11 +01:00
man Update year to 2012 2012-01-01 01:05:37 +02:00
rules Add a few more rules 2011-02-02 20:08:03 -06:00
samples Remove binary file from samples 2012-01-22 16:17:38 +02:00
test TestTokenizer: moved test to proper place. 2012-01-26 22:25:19 +01:00
tools tools/dmake.cpp: nitpicky reorder of commented warnings in alphabet order with uncommented ones. 2012-01-03 15:10:32 +01:00
win_installer 1.52: Updated version 2011-12-10 12:55:40 +01:00
.gitignore Update .gitignore 2011-10-28 22:55:14 +02:00
AUTHORS Extend 'Token::deleteNext' by introducing a new parameter which determines how many tokens should be deleted. It's still not used, though. 2011-12-07 23:36:11 +01:00
COPYING Licensing: Using the GPL 3 license 2008-10-26 07:55:15 +00:00
Changelog 1.52: Updated Changelog 2011-12-10 12:56:36 +01:00
Makefile Refactoring: Move rest of the template simplification into TemplateSimplifier 2012-01-09 21:33:11 +02:00
build-pcre.txt HAVE_RULES support for build.bat 2011-08-18 16:01:39 -05:00
build.bat Merge pull request #32 from rpavlik/qmake-configure-rules 2011-08-19 13:00:34 -07:00
cppcheck.cbp Refactoring: Add new file lib/templatesimplifier.cpp 2012-01-01 22:55:05 +02:00
cppcheck.cppcheck Fixed: some gui/temp headers reported missing includes from gui/ folder. 2011-11-01 01:07:28 +01:00
cppcheck.sln Update VS solution files for test project name change. 2011-09-26 23:54:08 +03:00
cppcheck_vs2010.sln Visual Studio: auto generated new visual studio project files 2011-10-23 15:42:02 +02:00
createrelease Fixed #3401 (Run cppcheck on cppcheck source code before release) 2011-12-12 18:45:52 +01:00
doxyfile doxygen: enabled the JAVADOC_AUTOBRIEF so the @brief isn't required 2010-03-17 21:29:45 +01:00
generate_coverage_report LCOV: updated the generate_coverage_report to avoid some redundant compiler warnings 2011-03-14 11:21:35 +01:00
readme.txt Fix readme.txt to match current HAVE_RULES behaviour. 2011-11-10 21:49:55 +02:00
readme_64-bit_Windows.txt Fixed some spelling mistakes 2010-12-15 18:45:53 +01:00
readme_gui.txt GUITESTS: Add short mention of tests to gui readme. 2011-06-18 13:11:05 +03:00
runastyle Fixing #3515 (Add samples/id/good|bad.cpp) 2012-01-22 15:52:31 +02:00
runastyle.bat changed the astyle formatting flags 2011-10-13 20:53:06 +02:00
webreport.sh webreport: updated script (use latest pmd) 2011-12-28 08:09:31 +01:00

readme.txt

=========
Cppcheck
=========


About

    The original name of this program is "C++check" but it was later changed to "cppcheck".

Manual

    A manual is available online:
    http://cppcheck.sf.net/manual.pdf

Compiling

    Any C++ compiler should work.

    To build the GUI, you need Qt.

    When building the command line tool, PCRE is normally used.
    PCRE is optional.

    There are multiple compilation choices:
      * qmake - cross platform build tool
      * Windows: Visual Studio
      * Windows: Qt Creator + mingw
      * gnu make
      * g++

    qmake
    =====
        You can use the gui/gui.pro file to build the GUI.
            cd gui
            qmake
            make

    Visual Studio
    =============
        Use the cppcheck.sln file. The rules are normally enabled.

        To compile with rules (pcre dependency):
            * the pcre dll is needed. it can be downloaded from:
                http://cppcheck.sf.net/pcre-8.10-vs.zip

        To compile without rules (no dependencies):
            * remove the preprocessor define HAVE_RULES from the project
            * remove the pcre.lib from the project

    Qt Creator + mingw
    ==================
        The PCRE dll is needed to build the CLI. It can be downloaded here:
            http://software-download.name/pcre-library-windows/

    gnu make
    ========
        To build Cppcheck with rules (pcre dependency):
            make HAVE_RULES=yes

        To build Cppcheck without rules (no dependencies):
            make

    g++ (for experts)
    =================
        If you just want to build Cppcheck without dependencies then you can use this command:
            g++ -o cppcheck -Ilib cli/*.cpp lib/*.cpp

        If you want to use --rule and --rule-file then dependencies are needed:
            g++ -o cppcheck -lpcre -DHAVE_RULES -Ilib -Iexternals cli/*.cpp lib/*.cpp externals/tinyxml/*.cpp
    mingw
    =====
        make LDFLAGS=-lshlwapi

Cross compiling Win32 (CLI) version of Cppcheck in Linux

    sudo apt-get install mingw32
    make CXX=i586-mingw32msvc-g++ LDFLAGS="-lshlwapi"
    mv cppcheck cppcheck.exe

Webpage

    http://cppcheck.sourceforge.net/