cppcheck/gui
Paul Fultz II ad8abdb0c3 Add impossible values to ValueFlow (#2186)
* Add impossible category

* Replace values

* Try to adjust known values

* Add ! for impossible values

* Add impossible with possible values

* Remove contradictions

* Add values when the branch is not dead

* Only copy possible values

* Dont bail on while loops

* Load std lib in valueflow

* Check for function calls

* Fix stl errors

* Fix incorrect impossible check

* Fix heap-after-use error

* Remove impossible values when they are lowered

* Show the bound and remove overlaps

* Infer conditions

* Dont push pointer values through dynamic_cast

* Add test for dynamic_cast issue

* Add shifttoomanybits test

* Add test for div by zero

* Add a test for issue 9315

* Dont make impossible value inconclusive

* Fix FP with shift operator

* Improve handleKnownValuesInLoop for impossible values

* Fix cppcheck warning

* Fix impossible values for ctu

* Bailout for streams

* Check equality conditions

* Fix overflows

* Add regression test for 9332

* Remove duplicate conditions

* Skip impossible values for invalid value

* Check for null

* Rename bound to range

* Formatting
2019-09-20 15:06:37 +02:00
..
help
images
test
CMakeLists.txt
about.ui Try to give some credit to the 3rd party libraries we use. 2019-02-10 17:16:53 +01:00
aboutdialog.cpp
aboutdialog.h
application.cpp Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
application.h
application.ui
applicationdialog.cpp
applicationdialog.h
applicationlist.cpp Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
applicationlist.h
checkstatistics.cpp
checkstatistics.h
checkthread.cpp
checkthread.h
codeeditor.cpp
codeeditor.h
codeeditorstyle.cpp
codeeditorstyle.h
codeeditstylecontrols.cpp
codeeditstylecontrols.h Correct Signal/Slot signatures (#2035) 2019-07-25 08:29:42 +02:00
codeeditstyledialog.cpp
codeeditstyledialog.h
common.cpp
common.h
cppcheck-gui.desktop
cppcheck-gui.png
cppcheck-gui.rc
cppcheck-gui.svg Resize page to content. 2016-09-27 17:06:26 +08:00
cppcheck.ico
cppcheck_de.ts
cppcheck_es.ts
cppcheck_fi.ts
cppcheck_fr.ts
cppcheck_it.ts
cppcheck_ja.ts cppcheck_ja.ts is updated (#2140) 2019-09-02 18:57:50 +02:00
cppcheck_ko.ts
cppcheck_nl.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_ru.ts
cppcheck_sr.ts
cppcheck_sv.ts
cppcheck_zh_CN.ts
cppchecklibrarydata.cpp
cppchecklibrarydata.h
csvreport.cpp
csvreport.h
erroritem.cpp
erroritem.h
file.ui
filelist.cpp
filelist.h
fileviewdialog.cpp
fileviewdialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
gui.cppcheck
gui.pro gui.pro: added -Wno-deprecated-declarations 2019-07-23 10:35:20 +02:00
gui.qrc
libraryaddfunctiondialog.cpp
libraryaddfunctiondialog.h
libraryaddfunctiondialog.ui
librarydialog.cpp
librarydialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
librarydialog.ui
libraryeditargdialog.cpp
libraryeditargdialog.h
libraryeditargdialog.ui
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
newsuppressiondialog.cpp
newsuppressiondialog.h
newsuppressiondialog.ui
platforms.cpp GUI: Renamed 'Builtin' to 'Native' 2016-01-08 19:56:09 +01:00
platforms.h
printablereport.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
printablereport.h
projectfile.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
projectfile.h
projectfile.txt
projectfiledialog.cpp
projectfiledialog.h
projectfiledialog.ui
readme.txt
report.cpp
report.h
resultstree.cpp
resultstree.h
resultsview.cpp
resultsview.h
resultsview.ui
scratchpad.cpp
scratchpad.h
scratchpad.ui GUI: Scratchpad: Add help texts; run astyle (#1104) 2018-03-07 12:38:50 +01:00
settings.ui
settingsdialog.cpp
settingsdialog.h
showtypes.cpp
showtypes.h
stats.ui
statsdialog.cpp
statsdialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
threadhandler.cpp
threadhandler.h
threadresult.cpp
threadresult.h
translationhandler.cpp
translationhandler.h
txtreport.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
txtreport.h
xmlreport.cpp
xmlreport.h
xmlreportv2.cpp
xmlreportv2.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00

readme.txt

Cppcheck GUI
============
This is a GUI for cppcheck. It allows selecting folder or set of files to check
with cppcheck and shows list of found errors.

Running
-------
You need Qt5 libraries installed in your system. Packages/files to install
depends on your operating system:
- Windows: download Qt from http://www.qt.io/download/
- Linux: install Qt using your package manager, look for packages having Qt
  in their name, e.g. for Ubuntu install libqt5core5a, libqt5gui5, libqt5widgets5 
  and libqt5printsupport5.

Compiling
---------
Windows:
- The easy ways are:
-- download Qt SDK from http://www.qt.io/download/ and use
   QtCreator to build the GUI.
-- Download precompiled libraries for your platform and use your preferred
   IDE/environment to build GUI. Be careful to download the correct version of
   library for your compiler!
- The harder way is to download Qt sources and build Qt. Compiling Qt alone may
  take over 4 hours!

Linux:
- Install Qt development packages (make sure qmake -tool gets installed!). The
  names depend on distribution, but e.g. for Ubuntu the needed packages are:
  * qt5-default 

After you have needed libraries and tools installed, open command
prompt/console, go to gui directory and run command:
- qmake (in Linux and in Windows if build with MinGW/gcc or nmake)
- qmake -tp vc (to generate Visual Studio project file)
- qmake -tp vc LINKCORE=yes (to generate Visual Studio project file, linking
                             dynamically to core. Recommended.)

On Windows, you have to either call qtvars.bat in Qt folder or use the Qt command
line prompt shortcut added in the start menu by Qt installation.

These commands generate makefiles to actually build the software. After that
the actual building is done in IDE or command line as usual. Note that you
don't need to run qmake again unless you add/remove files from the project.

The Visual Studio solution does not contain a configuration for x64 platform, but
it can be added easily.

Tests
-----
There are tests for the GUI in gui/test -directory. There is test.pro
-projectfile for building all the tests. Each test is in own subdirectory and
builds own binary. Test is run by simple running that binary. The binary also
has several options to select tests etc. You can get the help by running
"binaryname -help" -command.

Translations
------------
The GUI is translated to several languages. Qt comes with two tools to update
and compile the translations. lupdate updates translations files from the code
and lrelease compiles translation files use with the executable.

To update translations:
- run lupdate gui.pro to update the translation files to match the code. This
  command updates all the .ts files. Which can be then edited to translate
  the application.

To compile translations:
- run lrelease gui.pro to compile .ts files to .qm files which are used by the
  executable.