Commit Graph

1739 Commits

Author SHA1 Message Date
Oliver Stöneberg 858585ceb1
disabled all clang-tidy checks for Qt generated files ()
* disabled cll clang-tidy checks for Qt generated files

* enabled `bugprone-suspicious-include` clang-tidy warning
2022-09-30 07:27:03 +02:00
Oliver Stöneberg b9e07e918e
enabled and fixed `readability-named-parameter` clang-tidy warnings () 2022-09-27 20:03:25 +02:00
Oliver Stöneberg 897826006e
mitigated some clang-tidy warnings in headers ()
* erroritem.h: avoid `performance-no-int-to-ptr` clang-tidy warning

* suppress `readability-inconsistent-declaration-parameter-name` clang-tidy warnings for Qt signals

* tokenlist.h: mitigated `readability-make-member-function-const` clang-tidy warnings

* fixed `modernize-use-override` clang-tidy warnings in headers

* fixed `modernize-pass-by-value` clang-tidy warnings in headers

* tokenize.cpp: avoid unnecessary copy
2022-09-16 18:59:15 +02:00
Oliver Stöneberg 339484d2a1
mitigated and enabled more clang-tidy warnings ()
* fixed some `performance-inefficient-string-concatenation` clang-tidy warnings

* fixed and enabled `modernize-replace-random-shuffle` clang-tidy warning

* fixed and enabled `bugprone-suspicious-string-compare` clang-tidy warning

* mitigated and enabled `readability-non-const-parameter` clang-tidy warnings

* clang-tidy.md: documented some disabled checks

* mitigated and enabled `performance-unnecessary-value-param` clang-tidy warnings
2022-09-16 18:58:59 +02:00
Oliver Stöneberg b3ec225480
iwyu.yml: use `debian:unstable` to always get latest include-what-you-use / cleaned up includes ()
* iwyu.yml: use debian:unstable to always get latest include-what-you-use

* cleaned up includes based on include-what-you-use

* mitigated include-what-you-use false positives
2022-09-16 07:15:49 +02:00
Oliver Stöneberg dbc05da356
fixed some clang-tidy warnings () 2022-09-08 20:01:41 +02:00
Oliver Stöneberg b3762cd76a
actually perform system tinyxml2 build on macos / fixed system tinyxml2 include ()
* lib/CMakeLists.txt: removed unnecessary external include

* look up tinyxml2 include dir when using system one and specify it

* lib/CMakeLists.txt: do not treat bundled headers as system ones

* CI-unixish.yml: actually perform system tinyxml2 build on macos
2022-09-06 18:30:59 +02:00
Oliver Stöneberg 4d767d821e
use same output folder for GUI tests qmake builds to leverage existing output files from regular build () 2022-09-04 10:25:16 +02:00
Daniel Marjamäki a400c94230 Update Copyrights 2022-08-28 14:22:12 +02:00
Daniel Marjamäki 4b98fd00e8 gui: run lupdate 2022-08-28 13:28:24 +02:00
Daniel Marjamäki a2454ecbca cli import cppcheck project with premium options 2022-08-23 20:13:03 +02:00
Daniel Marjamäki 5d267000e2 GUI: configuration of premium features 2022-08-22 21:11:28 +02:00
Oliver Stöneberg 5f171b9673
fixed some `modernize-use-emplace` false negatives with `std::stack` / removed `internalStlUsage` check () 2022-08-17 09:50:14 +02:00
Oliver Stöneberg c54b3f4de0
removed leftover bughunting GUI related fields from `ErrorMessage` () 2022-08-13 08:27:52 +02:00
Oliver Stöneberg 156323c95e
avoid unnecessary copies with `insert()` () 2022-08-07 19:31:16 +02:00
Rikard Falkeborn cfa5cd4849
CERT addon removal cleanup ()
* cmdlineparser: Update addon example to misra

* gui/help: Remove reference to CERT

* manual: Remove reference to CERT
2022-07-29 16:46:36 +02:00
Oliver Stöneberg b65b47d3a8
enabled and fixed `modernize-pass-by-value` clang-tidy warnings () 2022-07-28 22:51:45 +02:00
Oliver Stöneberg 887463855b
mitigated most clang-tidy warnings in headers () 2022-07-26 11:10:03 +02:00
Daniel Marjamäki db155a59c1 Tokenizer: remove simplifyTokenList2 2022-07-18 16:20:36 +02:00
chrchr-github 2c7d98626a
Fix FP leakNoVarFunctionCall with Qt object ()
* Add missing <leak-ignore/>, test

* Fix qt.cfg, format

* Fix FP leakNoVarFunctionCall

* Format

* Delete memory, rule of five

* Missing include

* Avoid dependency

* explicit

* Fix Qt test case

* Fix typo

* Fix

* Add Q_OBJECT
2022-07-13 21:09:53 +02:00
Oliver Stöneberg e8b0f12367
replaced `if(MATCHES)` with `if(STREQUAL)` ()
`MATCHES` does regular expression matching which is not the intended behavior here. `Clang` still requires it since it also needs to match `AppleClang.
2022-07-11 10:46:18 +02:00
Oliver Stöneberg c4fc1bf1c9
fixed memory leak in `cppcheck-gui` ()
* settingsdialog.cpp: fixed memory leak

Direct leak of 200 byte(s) in 1 object(s) allocated from:
     0xa15a2d in operator new(unsigned long) (/mnt/s/GitHub/cppcheck-fw/cmake-build-debug-wsl-kali-clang-asan-ubsan/bin/cppcheck-gui+0xa15a2d)
     0xe639af in SettingsDialog::SettingsDialog(ApplicationList*, TranslationHandler*, QWidget*) /mnt/s/GitHub/cppcheck-fw/gui/settingsdialog.cpp:75:21
     0xc67807 in MainWindow::programSettings() /mnt/s/GitHub/cppcheck-fw/gui/mainwindow.cpp:1064:20
     0xd1deb8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MainWindow::*)()>::call(void (MainWindow::*)(), MainWindow*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152:13
     0xd1db5c in void QtPrivate::FunctionPointer<void (MainWindow::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::*)(), MainWindow*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185:13
     0xd1d675 in QtPrivate::QSlotObject<void (MainWindow::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418:17
     0x7f9687f26132  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2e6132)
     0x7f96889ccdc1 in QAction::triggered(bool) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15cdc1)

* resultstree.cpp: adjusted TODO about memory leaks
2022-07-09 22:32:48 +02:00
Maksim Derbasov a65f6952dc
Codeeditor: multiline comment fix () 2022-07-08 12:37:05 +02:00
Mathias Schmid c897c0474b
Library Data: Add support for optional smart pointer element 'unique' () 2022-07-04 22:23:20 +02:00
chrchr-github 1d677c57a8
Fix FN: noExplicitConstructor with single default parameter () 2022-06-07 21:15:13 +02:00
Oliver Stöneberg d36e05af28
enabled and fixed `modernize-use-emplace` clang-tidy warnings ()
* enabled and fixed `modernize-use-emplace` clang-tidy warnings

* avoid unnecessary creation of temporaries in `emplace_back()` calls
2022-06-03 15:09:29 +02:00
Daniel Marjamäki 1f6554e2e8 Update copyright year 2022-05-21 12:18:27 +02:00
Daniel Marjamäki c91dc87577 GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
Oliver Stöneberg 14421ae627
fail `run-clang-tidy` in case of compiler warnings / fixed Clang warnings / cleanups () 2022-05-15 12:42:29 +02:00
Oliver Stöneberg c71033548f
fixed some clang-tidy warnings () 2022-05-08 20:42:06 +02:00
Maksim Derbasov 3ca2eb984e
Codeeditor class improvements () 2022-04-29 18:10:37 +02:00
Oliver Stöneberg 36ef4dc5b8
added support for Qt6 () 2022-04-15 18:49:24 +02:00
Oliver Stöneberg 8f728cb4b6
added (partial) support for specifying C++23 and support more "-std" options () 2022-04-15 16:17:36 +02:00
Daniel Marjamäki 5825ab75db GUI: allow that misra addon is executed without rule texts file 2022-04-14 09:09:58 +02:00
Oliver Stöneberg 45158ec064
cleaned up includes based on include-what-you-use ()
* cleaned up includes based on include-what-you-use

* updated translations
2022-04-13 12:24:00 +02:00
Oliver Stöneberg 902f46bae5
some minor QRegularExpression usage optimizations and cleanups () 2022-04-11 19:15:42 +02:00
fu7mu4 375df3a6af
Add Japanese Translation for v2.7 () 2022-04-11 16:01:01 +02:00
Oliver Stöneberg 2d9ec39a2d
make sure we remove obsolete entries from translations () 2022-04-11 11:25:08 +02:00
Daniel Marjamäki 8f386e15fd Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
Daniel Marjamäki 4365704f14 cppcheck.cfg: support custom productname and about message 2022-03-24 22:44:47 +01:00
Daniel Marjamäki 92316b07c8 Remove CERT addon from open source Cppcheck. The plan is to provide complete CERT C checking in Cppcheck Premium during this year. 2022-03-23 20:30:43 +01:00
Oliver Stöneberg a0bab85bf9
ported GUI code from QRegExp to QRegularExpression () 2022-03-23 18:16:22 +01:00
Oliver Stöneberg e48b5fc920
avoid usage of deprecated Qt APIs () 2022-03-22 21:44:41 +01:00
Daniel Marjamäki 1fe7cd348a exename: Set proper exename when cppcheck is executed from PATH and argv[0] does not contain path information 2022-03-21 18:35:53 +01:00
Oliver Stöneberg 2b3fc5ed1a
replaced Qt `foreach()` with standard `for` range loop / some related cleanups ()
* replaced Qt foreach() with standard for range loop / some related cleanups

* updated translations
2022-03-21 17:14:26 +01:00
Oliver Stöneberg 9d524616b3
use forward declarations for Ui:: objects / renamed *.ui files to mat… () 2022-03-19 19:54:20 +01:00
Georgi D. Sotirov 33315b0ae5
Replace tinyxml2_LIBRARY with tinyxml2_LIBRARIES () 2022-03-15 21:17:03 +01:00
Oliver Stöneberg 0d336b868c
avoid some Clang compiler warnings () 2022-03-13 20:07:58 +01:00
Oliver Stöneberg 12c1c081dc
run dmake and update Qt translation files on CMake build () 2022-02-16 07:06:59 +01:00
Oliver Stöneberg 06d10b7474
fixed and enabled performance-for-range-copy clang-tidy warning () 2022-02-12 08:20:45 +01:00
Oliver Stöneberg d528555002
some preparations for Qt6 support ()
* findDependencies.cmake: cleaned up find_package() call for Qt

* some CMake preparations for Qt6 support

* some Qt6 compilation fixes
2022-02-07 17:35:25 +01:00
Oliver Stöneberg 047930fd17
removed some unused/unread member variables (and related code) found by CLion "Unused global declaration" inspection () 2022-02-07 15:34:34 +01:00
Oliver Stöneberg 974dd5d49f
only use bundled tinyxml2 in CMake when configured to do so () 2022-02-06 13:02:52 +01:00
Daniel Marjamäki 3989408738 Update copyright year 2022-02-05 11:45:17 +01:00
Daniel Marjamäki e9be84d81a GUI: lupdate gui.pro 2022-02-05 11:43:36 +01:00
Daniel Marjamäki 0c66453c21 GUI: use range for instead of foreach 2022-02-05 11:33:28 +01:00
Oliver Stöneberg 58f9672ff4
cleaned up GUI includes based on include-what-you-use () 2022-02-02 22:31:51 +01:00
Oliver Stöneberg 9d36dd56a8
reordered includes in GUI code () 2022-02-02 16:17:28 +01:00
Oliver Stöneberg d6ae089ca5
fixed most of the Qt deprecation warnings () 2022-02-01 17:26:16 +01:00
Oliver Stöneberg a03d754d19
more copyright fixes () 2022-01-28 18:30:12 +01:00
Oliver Stöneberg 38420c8ecf
added some more missing copyright headers () 2022-01-28 15:56:11 +01:00
Oliver Stöneberg a2a9c90142
added some missing copyright headers () 2022-01-26 19:02:20 +01:00
Oliver Stöneberg 7d26cb68d9
CI-unixish.yml: Use Qt version provided by the distro () 2022-01-24 21:55:48 +01:00
Oliver Stöneberg 55ff684f34
added unusedFunction self check to CI / cleanups () 2022-01-18 22:02:25 +01:00
chrchr-github cb5a50c6a7
Fix FN passedByValue with QString () 2022-01-18 20:17:05 +01:00
Kuletco bd2c4bb0a6
Update zh_CN translation () 2022-01-12 22:10:05 +01:00
chrchr-github df3da38483
Fix Unused QString / unused std::array / unused variable with c++11 braced initializer not detected () 2022-01-10 07:36:49 +01:00
Oliver Stöneberg 0ba9cb4e64
fixed some unusedFunction warnings () 2022-01-04 15:48:08 +01:00
Oliver Stöneberg 6739995e79
removed or annotated some code which is only used in test code () 2022-01-03 12:40:20 +01:00
orbitcowboy efd3aa47c5 Code formatting 2021-12-19 17:45:04 +01:00
Oliver Stöneberg cc24d6fcef
Fix (Invalid --project files do not give any error) () 2021-12-19 12:36:11 +01:00
Oliver Stöneberg c918e1bc50
added building of GUI tests to CMake () 2021-12-17 21:49:32 +01:00
Daniel Marjamäki 866aeff1ae GUI: Fix selfcheck shadowVariable warning 2021-12-15 20:43:25 +01:00
Oliver Stöneberg dafb2fe6a0
Test GUI build CMake in CI () 2021-12-15 19:36:34 +01:00
Daniel Marjamäki d2dd4e54b9 Fix execution of executable addons from GUI 2021-12-15 19:27:02 +01:00
Daniel Marjamäki ed4d2c21e6 Load cppcheck.cfg in FILESDIR if that is specified 2021-11-05 20:37:48 +01:00
Oliver Stöneberg 54d621555d
scan GUI sources with clang-tidy in CI ()
* build UI dependencies before running clang-tidy

* clang-tidy.yml: enabled GUI sources and build some dependencies for clang-tidy

* work around missing dependency for Qt install step
2021-10-31 20:15:32 +01:00
Oliver Stöneberg b4704ba065
use target-specific configuration instead of global ones in CMake () 2021-10-30 09:08:07 +02:00
Daniel Marjamäki 20883a5a3f Fixed uninitialized variable in GUI, found by self check (PR 3533) 2021-10-29 07:46:05 +02:00
Daniel Marjamäki 0a5b7b2af5 Make it possible to configure default addons in a cppcheck.cfg file.
Example:
{
    "addons":["cert"]
}

With that cppcheck.cfg file cppcheck will always run the "cert" addon. Explicit options such as --addon=cert will not be needed.
2021-10-13 20:02:48 +02:00
Daniel Marjamäki 08f9de95e2 Update copyright year 2021-09-26 11:34:56 +02:00
Daniel Marjamäki 1207531642 lupdate gui.pro 2021-09-26 11:31:55 +02:00
Daniel Marjamäki 5767ba794a GUI: do not use double backslash in filename. See https://sourceforge.net/p/cppcheck/discussion/general/thread/b548fc603b 2021-09-25 16:30:58 +02:00
Daniel Marjamäki ca047e57bf Switch from http to https on our sourceforge webpage 2021-08-28 12:46:54 +02:00
Alfi Maulana aab5b39e2d
feat: add support for .ipp and .ixx extensions () 2021-08-09 10:46:56 +02:00
Paul Fultz II 7f358b2bed
Format with uncrustify () 2021-08-07 20:51:18 +02:00
Daniel Marjamäki 40b52169cf astyle formatting 2021-07-24 17:07:34 +02:00
Wolfgang Stöggl 8d5249e3b6
Fix Failed to load translation for English ()
Upon the first start of cppcheck-gui, the following message appears,
if the language of the OS is English:
  Failed to load the user interface language:
  Failed to load translation for language English from file
  cppcheck_en.qm
  The user interface language has been reset to English.

- Update translationhandler.cpp and check if the language code starts
  with "en". The code can be e.g. "en_US"
2021-07-23 19:27:53 +02:00
Georgiy Komarov 1457993f84
gui: Set signed int type for the error lines () 2021-07-22 19:55:23 +02:00
Georgiy Komarov 6e3ce737ba
gui: Fix suppressions by file with the relative paths ()
If the user enters the path that potentially could be relative, we are
trying to replace it with the absolute one.

Reported in the forum:
https://sourceforge.net/p/cppcheck/discussion/general/thread/311ed96e68/

Fixes Trac ticket .
2021-07-22 18:54:43 +02:00
Paul Fultz II 8dc1fa7a59
Add colors to CLI reporting () 2021-07-08 21:21:35 +02:00
fu7mu4 5ffbfa4cf6
Add Japanese translation for v2.5 ()
Add new Japanese translation for v2.5 and fix some translation only
2021-07-05 08:06:27 +02:00
Daniel Marjamäki c489626167 updated copyright year 2021-07-04 08:09:11 +02:00
Daniel Marjamäki 7f4a4c4b52 lupdate gui.pro 2021-07-03 15:38:07 +02:00
Daniel Marjamäki 08626b9815 GUI: Set Settings::libraries properly before analysis 2021-06-13 19:48:45 +02:00
Georgiy Komarov b74618d989
gui: Handle errors in creating build directory ()
If user doesn't create a build directory, it is not possible to run the
addons, because addons are trying to check dump files in non-existent
build directory.
2021-06-09 11:21:23 +02:00
Georgiy Komarov fc6558c22b
gui: Set the correct names for coding standards in UI elements. NFC. ()
Names of MISRA and CERT should be written is uppercase, because they are
abbrevations.
2021-06-09 11:20:51 +02:00
Armin Müller c70b8793a3
Typos found by running "codespell" () 2021-05-19 11:49:19 +02:00
Maksim Derbasov 14ea8d7e68
Align keywords with c++20 standard for CodeEditor () 2021-05-05 07:35:13 +02:00
Maksim Derbasov f0005665a8
Scratchpad using CodeEditor class () 2021-05-04 19:17:03 +02:00