Commit Graph

1808 Commits

Author SHA1 Message Date
Maksim Derbasov 8166bfc7b8
Do not crash on GUI shutdown (#5288)
Seems current code for worker threads termination is too brutal which
leads to crash on termination:
```
QThread::start: Thread termination error: No such process
Segmentation fault (core dumped)
```
Seems better to use `quit()` and `wait()`, like in an example:
https://doc.qt.io/qt-6/qthread.html#details

tested: Ubuntu Linux 20
2023-08-09 10:26:46 +02:00
chrchr-github eee1221738
Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
chrchr-github 73251544a4
Fix #11842 FN constParameterPointer with library function (#5257) 2023-08-05 18:48:43 +02:00
Oliver Stöneberg 45de338f1b
cleaned up includes based on include-what-you-use / iwyu.yml: updated to yet another distro to get the latest version and updated the Chaotic-AUR key (#5267)
This is a mess. The version is AUR is still outdated and also doesn't
install anymore. Fedora 38 carries the latest version of it so use that
now. Keep the old steps in case we need to switch again in the future.
2023-08-02 10:36:17 +02:00
Tomo Dote c2ed362c11
Update Japanese translation (#5246)
Update Japanese translation only
- modified:   gui/cppcheck_ja.ts
2023-07-17 11:09:39 +02:00
Daniel Marjamäki 1b4ec0def4
Fix #11787 (GUI: configure check level) (#5206) 2023-06-28 19:55:57 +02:00
Daniel Marjamäki 977e1320d7
Add zephyr.cfg (#5201) 2023-06-27 13:34:58 +02:00
chrchr-github f4030c4b1a
Fix #11791 Build regression with GCC 13 (#5193)
Patch supplied by Joachim Reichel.
2023-06-26 11:15:41 +02:00
Daniel Marjamäki 3abe8eeca5 Update copyright year 2023-06-21 19:58:11 +02:00
Daniel Marjamäki b259617f65 GUI: Update translations 2023-06-21 16:37:02 +02:00
chrchr-github bb962e2bc3
Enable and mitigate readability-else-after-return (#5175) 2023-06-20 18:43:21 +02:00
Daniel Marjamäki a62fedc641
GUI: Do not use --rule-texts in cppcheck premium (#5136) 2023-06-09 17:15:48 +02:00
Daniel Marjamäki ae83d53813
GUI: Do not replace relative paths with absolute paths in suppressions. (#5127) 2023-06-07 20:42:18 +02:00
Rainer Wiesenfarth f4f58bf020
Fix #11081 GUI: Windows release build crashes (#5083)
* Fix #11081 GUI: Windows release build crashes

Use generator expressions rather than if statements when adding compiler
options or definitions.

* Fix #11081 GUI: Windows CMake debug build fails with default options

When DISABLE_CRTDBG_MAP_ALLOC is using the default value (OFF), the
debug build of cppcheck-gui fails, as the "realloc" method names in some
of the Qt headers are replaced by the macro defined by the compiler.
Thus DISABLE_CRTDBG_MAP_ALLOC is explicitely set when compiling
cppcheck-gui in Debug mode using MSVC.
2023-06-07 11:33:55 +02:00
Haowei Hsu 34cecf2336
GUI: Update zh_TW translation (#5115) 2023-06-05 20:45:52 +02:00
Haowei Hsu bf8b3188a3
GUI: Add zh_TW translation (#5108) 2023-06-04 07:51:48 +02:00
Daniel Marjamäki 8324b75ee0
GUI: Do not throw exception when platform is not set (#5099) 2023-05-30 19:44:32 +02:00
Rainer Wiesenfarth d1781a8cfb
Fix #11727 Limit check to selected VS configurations does not work (#5072)
Fix #11727 Limit check to selected VS configurations does not work
2023-05-23 12:44:03 +02:00
chrchr-github 78182d4773
Fix FN constVariablePointer (#5076)
* Fix FN constVariablePointer

* Fix FP

* Add const

* Fix tests

* Add const
2023-05-22 19:53:51 +02:00
Mo bd8a6f0681
keep SETTINGS_LAST_CHECK_PATH on no selected files (#5016)
set SETTINGS_LAST_CHECK_PATH only when mCurrentDirectory is not empty.
2023-05-07 08:33:47 +02:00
Oliver Stöneberg 8cf6a22ea3
cleaned up includes based on `include-what-you-use` (#5021) 2023-04-30 07:33:19 +02:00
Oliver Stöneberg b3016f01a1
fixed some CLion inspection warnings (#4688)
* fixed some CLion "Unused global declaration" warnings

* fixed some CLion "Not implemented function" warnings

* fixed some CLion "Unused struct" warnings

* added TODO

* removed unused parameter reported by CLion

* fixed some CLion "Unused macro" warnings

* fixed some CLion "Condition is always true" warnings and a CLion "The value is never used" warning
2023-04-28 16:02:41 +02:00
Oliver Stöneberg 9ad26f51e8
removed `CppCheck` dependency from `CppCheckExecutor::parseFromArgs()` (#4967)
* made `CppCheck::getErrorMessages()` static

* removed `CppCheck` dependency from `CppCheckExecutor::parseFromArgs()`
2023-04-16 13:54:21 +02:00
Oliver Stöneberg 89c33b4175
CI-windows.yml: updated to Qt 6.5.0 (#4944) 2023-04-13 21:02:31 +02:00
Oliver Stöneberg 5be8eee943
iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
Daniel Marjamäki 0d6575da15 gui: improved error message when project import fails 2023-04-06 21:38:12 +02:00
chrchr-github 3836367d95
Fix FN passedByValue with array access, range-based for (#4922)
* Fix FN passedByValue with array access, range-based for

* Format

* Fix/suppress new warnings
2023-03-30 07:24:23 +02:00
Paul Fultz II d4b030694b
Move some checks for variable changed from constVariable check to isVariableChanged (#4905) 2023-03-21 18:16:40 +01:00
chrchr-github 3ccd0505cd
Enable and mitigate readability-simplify-boolean-expr (#4897) 2023-03-17 13:51:55 +01:00
Oliver Stöneberg 0b8af4fff7
some minor `QtCharts` usage cleanups (#4890) 2023-03-13 15:44:00 +01:00
Oliver Stöneberg 7ce82e4fcb
enabled and fixed remaining `-Wdeprecated-copy-dtor` Clang compiler warnings (#4860) 2023-03-07 12:28:00 +01:00
chrchr-github 9291421840
Fix #11595 FN useStlAlgorithm with complex condition (#4848) 2023-03-04 11:58:12 +01:00
Oliver Stöneberg 5af6ca6637
made `Platform` a member of `Settings` instead of inheriting from it / cleanups (#4791) 2023-03-03 18:36:27 +01:00
Oliver Stöneberg b70e1d5461
avoid some unchecked pointer dereferences (#4811) 2023-03-02 22:05:41 +01:00
Oliver Stöneberg bd1ae69b00
cleaned up includes based on `include-what-you-use` (#4599) 2023-03-02 21:50:14 +01:00
Oliver Stöneberg fd98e006a7
fixed #10961 (Qt 6 lupdate reports "ko" (Korean) "language is not recognized") (#4830) 2023-03-02 21:21:23 +01:00
Oliver Stöneberg 75619db1d5
symboldatabase.cpp: use `Keywords` / added TODOs (#4828) 2023-03-02 21:20:56 +01:00
Oliver Stöneberg 8583fcf96e
avoid more cases of returning non-const pointers from `const` objects (#4821) 2023-02-24 21:22:08 +01:00
Paul Fultz II 346ecdb53a
Improve valueflow after pushing to container (#4803) 2023-02-23 18:05:31 +01:00
Oliver Stöneberg 8ef14dad98
fixed and enabled `performance-faster-string-find` clang-tidy warning (#4769) 2023-02-08 21:01:51 +01:00
Oliver Stöneberg 14e78e1800
greatly improved error handling in Cppcheck project file parsing / some cleanups (#4752) 2023-02-08 20:30:43 +01:00
Oliver Stöneberg 66758d65f9
updated precompiled headers based on `ClangBuildAnalyzer` (#4775) 2023-02-08 08:19:21 +01:00
Daniel Marjamäki d3e7566470 GUI: Set proper title for compliance report dialog 2023-01-30 20:39:30 +01:00
Daniel Marjamäki e1b313ba76 GUI: Generate compliance report 2023-01-30 14:59:45 +01:00
Daniel Marjamäki 464fbe8d53 Update copyright year 2023-01-28 10:16:34 +01:00
Daniel Marjamäki 1f9eb757a5 GUI: Update translations 2023-01-28 10:15:00 +01:00
Oliver Stöneberg b097eca2ec
added handling of library element `entrypoint` to GUI / added GUI tests to CTest (#4744) 2023-01-27 19:43:08 +01:00
Oliver Stöneberg a0b1285f4a
added CMake option `BUILD_CORE_DLL` to build lib as `cppcheck-core.dll` with Visual Studio (#4733) 2023-01-26 22:13:07 +01:00
Daniel Marjamäki f8c4354d2e Cleanup *.ctu-info files that are not needed anymore after analysis 2023-01-18 17:32:14 +01:00
Oliver Stöneberg a09667a6d9
removed unused error messages (#4689) 2023-01-07 10:35:39 +01:00
Daniel Marjamäki e70afda95a GUI: Re-enable misra interface in open source GUI 2022-12-31 16:08:23 +01:00
Oliver Stöneberg 0c95971c54
added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
Oliver Stöneberg 1cfe49e340
use `const_iterator` where possible (#4662) 2022-12-30 15:13:47 +01:00
Oliver Stöneberg 3c68b9b29f
use `cbegin()` and `cend()` with `const_ierator` loops (#4658) 2022-12-20 20:32:16 +01:00
Oliver Stöneberg 6fedbb4f77
add/preserve `const` in `dynamic_cast` (#4655) 2022-12-19 20:01:12 +01:00
Oliver Stöneberg 0ed98c8f29
removed unused test files (#4648) 2022-12-18 19:36:37 +01:00
Daniel Marjamäki 50241224d0 GUI: better exclude of files. the canonical Qt method might return absolute paths from relative input paths. 2022-11-19 14:11:40 +01:00
Daniel Marjamäki 0d2993408a GUI: Install link when new version is available 2022-11-08 13:33:57 +01:00
Daniel Marjamäki 2c53b73e1b GUI: only run misra addon in premium version. remove misra rule texts configuration that is not needed in premium. 2022-11-03 18:20:13 +01:00
Daniel Marjamäki e8606a5e5a let --premium=misra-c-2012 also set --addon=misra. changed addons container to a set 2022-10-31 15:04:16 +01:00
Daniel Marjamäki 5c10cfd59e GUI: fix path issue with backslashes. hide non-premium setting in premium settings dialog. 2022-10-30 10:59:43 +01:00
Daniel Marjamäki 4634a72fe0 GUI: some more tweaks for 'check for updates' 2022-10-24 15:17:36 +02:00
Daniel Marjamäki fba70683bc GUI: Add setting 'Check for updates' 2022-10-22 20:27:24 +02:00
Daniel Marjamäki 60d9a8fb54 GUI: Write better text for label, the original text might be seen a short moment. Require c++17 for building the GUI with the gui.pro. 2022-10-17 21:40:35 +02:00
chrchr-github 3273e51fd5
Fix #10412 FN useStlAlgorithm with iterators (#4157) 2022-10-16 13:46:26 +02:00
Daniel Marjamäki 94c3108494 GUI: Detect when version is old 2022-10-09 18:51:01 +02:00
Tomo Dote c5a226470a
Add few Japanese translations only (#4539) 2022-10-09 07:40:10 +02:00
Daniel Marjamäki e35187cf9b GUI: proper loading of cppcheck.cfg 2022-10-08 17:05:18 +02:00
Oliver Stöneberg cff1cd9cda
applied clang-tidy `misc-const-correctness` fixes for POD types, iterators and references (#4529)
* applied `misc-const-correctness` fixes for POD types and iterators

* applied `misc-const-correctness` fixes for references
2022-10-02 07:12:40 +02:00
Oliver Stöneberg 858585ceb1
disabled all clang-tidy checks for Qt generated files (#4525)
* 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 (#4487) 2022-09-27 20:03:25 +02:00
Oliver Stöneberg 897826006e
mitigated some clang-tidy warnings in headers (#4472)
* 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 (#4470)
* 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 (#4466)
* 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 (#4435) 2022-09-08 20:01:41 +02:00
Oliver Stöneberg b3762cd76a
actually perform system tinyxml2 build on macos / fixed system tinyxml2 include (#4445)
* 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 (#4433) 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 (#4346) 2022-08-17 09:50:14 +02:00
Oliver Stöneberg c54b3f4de0
removed leftover bughunting GUI related fields from `ErrorMessage` (#4351) 2022-08-13 08:27:52 +02:00
Oliver Stöneberg 156323c95e
avoid unnecessary copies with `insert()` (#4323) 2022-08-07 19:31:16 +02:00
Rikard Falkeborn cfa5cd4849
CERT addon removal cleanup (#4322)
* 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 (#4169) 2022-07-28 22:51:45 +02:00
Oliver Stöneberg 887463855b
mitigated most clang-tidy warnings in headers (#4175) 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 (#4272)
* 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)` (#4263)
`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` (#4248)
* settingsdialog.cpp: fixed memory leak

Direct leak of 200 byte(s) in 1 object(s) allocated from:
    #0 0xa15a2d in operator new(unsigned long) (/mnt/s/GitHub/cppcheck-fw/cmake-build-debug-wsl-kali-clang-asan-ubsan/bin/cppcheck-gui+0xa15a2d)
    #1 0xe639af in SettingsDialog::SettingsDialog(ApplicationList*, TranslationHandler*, QWidget*) /mnt/s/GitHub/cppcheck-fw/gui/settingsdialog.cpp:75:21
    #2 0xc67807 in MainWindow::programSettings() /mnt/s/GitHub/cppcheck-fw/gui/mainwindow.cpp:1064:20
    #3 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
    #4 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
    #5 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
    #6 0x7f9687f26132  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2e6132)
    #7 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 (#4253) 2022-07-08 12:37:05 +02:00
Mathias Schmid c897c0474b
Library Data: Add support for optional smart pointer element 'unique' (#4132) 2022-07-04 22:23:20 +02:00
chrchr-github 1d677c57a8
Fix #11126 FN: noExplicitConstructor with single default parameter (#4174) 2022-06-07 21:15:13 +02:00
Oliver Stöneberg d36e05af28
enabled and fixed `modernize-use-emplace` clang-tidy warnings (#4165)
* 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 (#4036) 2022-05-15 12:42:29 +02:00
Oliver Stöneberg c71033548f
fixed some clang-tidy warnings (#3080) 2022-05-08 20:42:06 +02:00
Maksim Derbasov 3ca2eb984e
Codeeditor class improvements (#4057) 2022-04-29 18:10:37 +02:00