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 manuals: remove remaining occurrences of --append 2017-05-14 12:27:44 +02:00
images GUI: Use llvm-dragon.png instead of llvm-dragon.svg 2017-10-07 14:41:00 +02:00
test Try to make Travis happy 2019-08-11 17:57:59 +02:00
CMakeLists.txt Modify Qt5 CMake and include Qt Charts Option (#1837) 2019-05-17 10:17:51 +02:00
about.ui Try to give some credit to the 3rd party libraries we use. 2019-02-10 17:16:53 +01:00
aboutdialog.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
aboutdialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
application.cpp Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
application.h Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
application.ui GUI: Improve the Application dialog layoyt. 2011-04-04 11:00:09 +03:00
applicationdialog.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
applicationdialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
applicationlist.cpp Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
applicationlist.h Updated copyright year 2019-09-01 11:49:43 +02:00
checkstatistics.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
checkstatistics.h Updated copyright year 2019-09-01 11:49:43 +02:00
checkthread.cpp Refactoring: Rename variables. Do not use leading _. Renamed 'col' to 'column' 2019-08-18 12:19:05 +02:00
checkthread.h Updated copyright year 2019-09-01 11:49:43 +02:00
codeeditor.cpp Travis: Revert width=>horizontalAdvance change to fix CI 2019-07-23 10:28:45 +02:00
codeeditor.h astyle formatting 2019-06-25 15:29:15 +02:00
codeeditorstyle.cpp GUI: Revert my theme changes. The theme selection will only be for the code editor again. 2019-08-18 21:11:46 +02:00
codeeditorstyle.h GUI: Revert my theme changes. The theme selection will only be for the code editor again. 2019-08-18 21:11:46 +02:00
codeeditstylecontrols.cpp astyle formatting 2019-06-25 15:29:15 +02:00
codeeditstylecontrols.h Correct Signal/Slot signatures (#2035) 2019-07-25 08:29:42 +02:00
codeeditstyledialog.cpp Correct Signal/Slot signatures (#2035) 2019-07-25 08:29:42 +02:00
codeeditstyledialog.h Fixed constParameter warnings 2019-07-24 08:30:36 +02:00
common.cpp Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
common.h Fixed a typo in lib/checkother.cpp. Corrected spelling errors found by codespell. (#2170) 2019-09-11 19:21:38 +02:00
cppcheck-gui.desktop Rename icon.png to cppcheck-gui.png 2016-09-27 16:28:36 +08:00
cppcheck-gui.png Rename icon.png to cppcheck-gui.png 2016-09-27 16:28:36 +08:00
cppcheck-gui.rc Refactorized resource files: 2012-10-14 10:21:22 +02:00
cppcheck-gui.svg Resize page to content. 2016-09-27 17:06:26 +08:00
cppcheck.ico
cppcheck_de.ts Updated german translation 2019-09-01 13:37:08 +02:00
cppcheck_es.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_fi.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_fr.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_it.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_ja.ts cppcheck_ja.ts is updated (#2140) 2019-09-02 18:57:50 +02:00
cppcheck_ko.ts lupdate and lrelease 2019-06-29 09:50:53 +02:00
cppcheck_nl.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_ru.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_sr.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_sv.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppcheck_zh_CN.ts GUI: Updated translations 2019-09-01 11:47:52 +02:00
cppchecklibrarydata.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
cppchecklibrarydata.h Updated copyright year 2018-10-13 18:20:31 +02:00
csvreport.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
csvreport.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
erroritem.cpp Updated copyright year 2019-09-01 11:49:43 +02:00
erroritem.h Refactoring: Rename variables. Do not use leading _. Renamed 'col' to 'column' 2019-08-18 12:19:05 +02:00
file.ui Fileview dialogs now use Qt Designer ui files. 2009-07-02 19:46:26 +03:00
filelist.cpp GUI: Use relative paths in analysis 2018-07-01 08:00:05 +02:00
filelist.h Updated copyright year 2018-01-14 15:37:52 +01:00
fileviewdialog.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
fileviewdialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
gui.cppcheck Fix some complainted choices made in my older commits. 2011-11-01 13:23:47 +01:00
gui.pro gui.pro: added -Wno-deprecated-declarations 2019-07-23 10:35:20 +02:00
gui.qrc Removed svg file from gui.qrc 2017-10-07 23:11:39 +02:00
libraryaddfunctiondialog.cpp GUI: Rename private variable ui to mUi 2018-06-18 10:13:33 +02:00
libraryaddfunctiondialog.h Correct Zero/Null as pointer constant (#1938) 2019-06-30 21:39:22 +02:00
libraryaddfunctiondialog.ui GUI: Added a dedicated dialog for LibraryDialog for configuration of function arguments 2015-08-30 13:33:43 +02:00
librarydialog.cpp Updated copyright year 2019-09-01 11:49:43 +02:00
librarydialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
librarydialog.ui Fixed #7173 (Library Editor: Save As button and error messages) 2015-11-29 11:21:04 +01:00
libraryeditargdialog.cpp GUI: Renamed private variable minsizes 2018-06-18 14:15:13 +02:00
libraryeditargdialog.h GUI: Renamed private variable minsizes 2018-06-18 14:15:13 +02:00
libraryeditargdialog.ui Fix 7439: GUI: Remove value "constant" from minsize attribute items list (#1020) 2018-01-05 11:10:21 +01:00
main.cpp Update copyright year 2018-12-08 07:53:28 +01:00
mainwindow.cpp Fixed #8977 (GUI : Inspecting Cppcheck results) 2019-08-23 21:27:32 +02:00
mainwindow.h GUI: Revert my theme changes. The theme selection will only be for the code editor again. 2019-08-18 21:11:46 +02:00
mainwindow.ui Revert "GUI: Show information label if Cppcheck is outdated" 2019-06-28 22:36:19 +02:00
newsuppressiondialog.cpp Refactoring: Rename variables. Do not use leading _. Renamed 'col' to 'column' 2019-08-18 12:19:05 +02:00
newsuppressiondialog.h Correct Zero/Null as pointer constant (#1938) 2019-06-30 21:39:22 +02:00
newsuppressiondialog.ui GUI: better handling of suppressions 2018-07-01 14:24:37 +02:00
platforms.cpp GUI: Renamed 'Builtin' to 'Native' 2016-01-08 19:56:09 +01:00
platforms.h Updated copyright year 2019-09-01 11:49:43 +02:00
printablereport.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
printablereport.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
projectfile.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
projectfile.h Fixed #9240 (GUI: Issue with file names in suppressions (undesired expansion to full path)) 2019-08-11 15:53:23 +02:00
projectfile.txt remove unneeded spaces and empty lines 2012-10-12 17:46:57 +02:00
projectfiledialog.cpp GUI: Remove the 'Safe Checks' tab in project settings. We need to tweak these checks and settings further. 2019-08-25 18:53:01 +02:00
projectfiledialog.h Correct Zero/Null as pointer constant (#1938) 2019-06-30 21:39:22 +02:00
projectfiledialog.ui GUI: Remove the 'Safe Checks' tab in project settings. We need to tweak these checks and settings further. 2019-08-25 18:53:01 +02:00
readme.txt Remove theoretical qt4 support for gui projects (#963) 2017-09-20 10:02:46 +02:00
report.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
report.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
resultstree.cpp GUI: keep hidden results 2019-08-22 21:32:18 +02:00
resultstree.h Correct Zero/Null as pointer constant (#1938) 2019-06-30 21:39:22 +02:00
resultsview.cpp GUI: Revert my theme changes. The theme selection will only be for the code editor again. 2019-08-18 21:11:46 +02:00
resultsview.h Correct Zero/Null as pointer constant (#1938) 2019-06-30 21:39:22 +02:00
resultsview.ui GUI: Improved scrolling in code display 2018-02-21 22:49:50 +01:00
scratchpad.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
scratchpad.h Updated copyright year 2018-01-14 15:37:52 +01:00
scratchpad.ui GUI: Scratchpad: Add help texts; run astyle (#1104) 2018-03-07 12:38:50 +01:00
settings.ui GUI: Revert my theme changes. The theme selection will only be for the code editor again. 2019-08-18 21:11:46 +02:00
settingsdialog.cpp GUI: Use theme in whole program 2019-07-22 15:55:51 +02:00
settingsdialog.h Correct Zero/Null as pointer constant (#1938) 2019-06-30 21:39:22 +02:00
showtypes.cpp Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
showtypes.h Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
stats.ui Added support for -U option to the GUI. 2018-10-09 15:05:05 +02:00
statsdialog.cpp Updated copyright year 2019-09-01 11:49:43 +02:00
statsdialog.h Updated copyright year 2019-09-01 11:49:43 +02:00
threadhandler.cpp Updated copyright year 2018-03-31 20:59:09 +02:00
threadhandler.h Updated copyright year 2019-09-01 11:49:43 +02:00
threadresult.cpp Updated copyright year 2019-09-01 11:49:43 +02:00
threadresult.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
translationhandler.cpp Updated copyright year 2019-09-01 11:49:43 +02:00
translationhandler.h Updated copyright year 2019-09-01 11:49:43 +02:00
txtreport.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
txtreport.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
xmlreport.cpp Updated copyright year 2018-01-14 15:37:52 +01:00
xmlreport.h Updated copyright year 2018-01-14 15:37:52 +01:00
xmlreportv2.cpp Updated copyright year 2019-09-01 11:49:43 +02:00
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.