Commit Graph

1766 Commits

Author SHA1 Message Date
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
Daniel Marjamäki d2d2124238 Revert "Clang import; This experimental feature didn't "take off" much. After a lot of work we are still far fram the goal. I remove it now but don't rule out completely that it could ever be added again."
This reverts commit 207361b174.
2021-04-30 16:47:02 +02:00
Daniel Marjamäki 207361b174 Clang import; This experimental feature didn't "take off" much. After a lot of work we are still far fram the goal. I remove it now but don't rule out completely that it could ever be added again. 2021-04-21 18:59:48 +02:00
Paul Fultz II 563c9dd9cc
Fix issue 10208: FP: knownConditionTrueFalse in for loop with function that assigns by ref () 2021-04-18 21:42:27 +02:00
Daniel Marjamäki 161ea81fd8 XML: Ensure file0 info is kept in multithreaded analysis. Write file0 attribute in top <error> element instead of in the <location> elements. 2021-04-05 12:03:39 +02:00
Oliver Stöneberg 6397e29f84
cleaned up includes based on include-what-you-use () 2021-04-03 21:30:50 +02:00
fu7mu4 e6e0cb773f
Add Japanese translation for 2.4.1 () 2021-03-23 18:13:47 +01:00
Daniel Marjamäki 42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
Daniel Marjamäki bb8d044d5b GUI: Updated translations 2021-03-21 20:56:27 +01:00
PKEuS 141d2ac215 Refactorization: Improved internal implementation of severity and certainty levels
Backported from LCppC.
2021-02-24 22:00:06 +01:00
Daniel Marjamäki fbf63b932e astyle formatting
[ci skip]
2021-02-10 11:42:00 +01:00
Mathias Schmid 25fa7c55d8
Fix library data markup () 2021-02-09 13:53:32 +01:00
Daniel Marjamäki b07b464c80 astyle formatting
[ci skip]
2021-02-03 19:14:46 +01:00
Mathias Schmid 7658aa86bd
Fix library data reflection () 2021-02-03 12:52:52 +01:00
Daniel Marjamäki b2fbab18fd astyle formatting
[ci skip]
2021-01-30 17:52:41 +01:00
Mathias Schmid f17d5b719a
Fix library data platform type () 2021-01-29 14:54:19 +01:00
Mathias Schmid fa30464a96
Fix scratchpad translation on language change. () 2021-01-23 17:56:16 +01:00
orbitcowboy bb451ca289 Running astlye [ci skip] 2021-01-22 21:47:24 +01:00
Oliver Stöneberg 491f4874c5
fixed/aligned some compiler warnings () 2021-01-21 18:13:32 +01:00
Mathias Schmid ab7d728831
Add missing support for "type-checks" and "smart-pointer" configuration. () 2021-01-18 19:10:53 +01:00
Mathias Schmid 583ee7b70e
Fix update of some translations after application language switch. () 2021-01-15 18:19:51 +01:00
Mathias Schmid 348b2d4832
Check for mandatory "name" attribute in "podtype". () 2021-01-11 18:48:56 +01:00
Daniel Marjamäki f493ce16b3 astyle formatting
[ci skip]
2021-01-10 14:46:19 +01:00
Mathias Schmid cdc0ba32e4
Check if XML reader stopped because of an error. () 2021-01-10 12:10:30 +01:00
Mathias Schmid b74aa707d1
Add optional attribute "stdtype" of element "podtype" to avoid loss during library configuration save. () 2021-01-09 21:30:29 +01:00
Rikard Falkeborn bedf3118ef
library: Refactor to use enum class () 2021-01-08 10:29:01 +01:00
Oliver Stöneberg d59abfd977
fixed clang-tidy warnings ()
* clang_tidy.cmake: added clang-tidy-11 to list of executables to look for

* .clang-tidy: disabled warnings we are (currently) not interested in

* fixed clang-tidy warnings
2021-01-02 23:10:27 +01:00
Oliver Stöneberg fbf5858f76
fixed and enabled several clang-tidy warnings () 2021-01-02 19:10:25 +01:00
orbitcowboy dfa98c8f17 Running astyle [ci skip] 2020-12-25 20:13:29 +01:00
Mathias Schmid 9a51fc5ba0
Add fix to support "dealloc" element in memory or resource section of library configuration. Add missing attributes to avoid loss during library configuration save. () 2020-12-25 20:08:33 +01:00
Daniel Marjamäki a493e17a6a Tweaks to use summaries in GUI 2020-12-19 20:46:00 +01:00
fu7mu4 492cba7d2f
Add Japanese Translation only ()
- Add 1 new Japanese translation for newly added section
- Remove unfinished tag from Japanese translation
2020-12-05 15:25:00 +01:00
Daniel Marjamäki d7bf2213f7 GUI: Updated translations 2020-12-04 21:39:50 +01:00
Daniel Marjamäki 2530b36d9d Fixed Cppcheck warning; different argument names 2020-12-04 18:53:17 +01:00
Daniel Marjamäki aa28f3fe8c Removed Cppcheck::terminate() 2020-12-04 18:47:43 +01:00
Daniel Marjamäki 1fcc5c233d GUI: Tweak 'check unused templates' option text a bit 2020-11-23 20:25:19 +01:00
Daniel Marjamäki 4a2e082d85 Revert "GUI: restore default tab in ProjectFileDialog"
This reverts commit 39564c9e6c.
2020-11-23 20:18:06 +01:00
Daniel Marjamäki 39564c9e6c GUI: restore default tab in ProjectFileDialog 2020-11-23 19:27:14 +01:00
Daniel Marjamäki 208a4a4548 Check unused templates by default 2020-11-23 18:29:08 +01:00
Wolfgang Stöggl 8ac55a8534
Add find_package(tinyxml2) to CMake builds ()
So far, the cmake files of Cppcheck needed to be patched in order to
use installed tinyxml2 instead of the bundled version of tinyxml2.
- Introduce the CMake option USE_BUNDLED_TINYXML2 with a default value
  of ON. This preserves the behavior as in the past and uses the
  bundled version under externals/tinyxml2 by default.
- Usage of the installed tinyxml2 version of a system can be enabled
  now using -DUSE_BUNDLED_TINYXML2=OFF as a cmake parameter.
- Some Linux distros do not install tinyxml2*.cmake files, which are
  required to find tinyxml2 using find_package().
  Try first using find_package(tinyxml2 QUIET) and if this fails, try
  again using find_library(tinyxml2_LIBRARY tinyxml2)
2020-11-22 08:57:07 +01:00
Daniel Marjamäki c7cbe7f2d3 rename externals/tinyxml to externals/tinyxml2 2020-11-16 09:11:53 +01:00
Wolfgang Stöggl 4a057c1813
Set _q_readonly property for online-help ()
- Setting _q_readonly disables the timestamp check of the registered
  online-help.qch file
- This enables displaying of Contents and Index of the online help,
  even if the timestamp of online-help.qch is slightly different.
  Differences in the timestamp can result from packing online-help.qch
  in a cab file, when building the installer (1 or 2 seconds) or from
  installing the file under a different timezone under Linux etc.
- Remark: Qt 5.14 or newer is required to display Contents or Index,
  when the help files are readonly
2020-11-08 15:06:14 +01:00
Bernd Buschinski db3d9a79b5
Fix addons for installed cppcheck ()
- getAddonFilePath is used with getDataDir, this works fine
  for a local build cppcheck, but not for a system installed one.
  As getDataDir reports the location relative to the executable (/usr/bin/)
  and the addons are localed in FILESDIR (/usr/share/cppcheck).
  Extend the search path by FILESDIR/addons to also make it work for
  the installed cppcheck version.
2020-11-01 15:11:28 +01:00
Wolfgang Stöggl 1f6cb7a54b
Remove ./ from relative paths in online-help.qhp ()
- Fixes the following errors, when opening online-help.qhc using Qt
  assistant: QTextBrowser: No document for
  qthelp://cppcheck.sourceforge.net/doc/./preferences.html
  etc.
- Furthermore, ./ is not used anymore in Qt documentation:
    https://doc.qt.io/qt-5/qtassistant-simpletextviewer-example.html
  It was used previously:
    https://doc.qt.io/archives/qt-4.8/qt-help-simpletextviewer-example.html
  Example:
    <section title="Find File" ref="./findfile.html">
    ->
    <section title="Find File" ref="findfile.html">
2020-10-26 10:07:47 +01:00
Wolfgang Stöggl fa84b30444
Enable building of Qt online-help in gui.pro ()
- gui.pro: Update the path of the output file, so that it is also built
  inside the help sub-directory (add $$PWD/help/ to the path):
  -o $$PWD/help/online-help.qhc
- Use qcollectiongenerator in case of Qt version < 5.12, otherwise
  qhelpgenerator
- appveyor.yml: Add %QTDIR%\bin to PATH. This allows qhelpgenerator
  or qcollectiongenerator to be found
2020-10-18 08:07:27 +02:00
Wolfgang Stöggl df9f6f38be
Look for Qt online-help file also in FILESDIR () 2020-10-11 03:49:27 +02:00
fu7mu4 2bb61b331a
Update Japanese translation () 2020-10-03 15:25:15 +02:00
Daniel Marjamäki 8d20d8afb5 Update Copyright year 2020-10-03 09:15:56 +02:00
Daniel Marjamäki e1ea2ee37d lupdate gui.pro 2020-10-03 09:08:46 +02:00
Daniel Marjamäki bca3605f77 astyle formatting 2020-09-21 19:48:04 +02:00
Oliver Stöneberg 1077b0d2a6
small compileroptions.cmake cleanup ()
* compileroptions.cmake: moved common warnings to proper scope and aligned them with other build systems / fixed some -Wrange-loop-construct clang warnings

* compileroptions.cmake: use check_cxx_compiler_flag() via add_compile_options_safe() helper to avoid compiler version checks
2020-09-21 19:41:28 +02:00
Oliver Stöneberg 7189b303ae
fixed some modernize-loop-convert clang-tidy warnings () 2020-09-21 19:30:47 +02:00
firewave 57201cf8d5 gui.pro: disable precompiled headers for older VS versions 2020-09-13 23:06:45 +02:00
firewave 56c4546ede added precompiled header for qmake 2020-09-13 20:57:51 +02:00
firewave be45abe6be gui.pro: aligned qmake warnings with make ones 2020-09-13 20:57:51 +02:00
Daniel Marjamäki ebb5ff0e19
Merge pull request from jubnzv/gui-add-python-path-validation
gui: Add validation for Python path
2020-09-13 12:43:34 +02:00
Georgy Komarov a2f382464b
gui: Add more keyboard shortcuts 2020-09-12 11:56:59 +03:00
Georgy Komarov a3a2e574a5
gui: Add validation for Python path
This commit adds to cppcheck-gui validation for the path to the Python
interpreter entered by the user.
2020-09-12 11:35:00 +03:00
Daniel Marjamäki da1de50deb Clang: The clang parser import should be considered to be an experimental feature for now. There are many problems to solve. 2020-09-04 18:30:29 +02:00
Daniel Marjamäki 51a6f154e0 GUI: If DATADIR is not configured try to guess it. Try to use application path. Or look if there is a cppcheck path. 2020-08-29 21:26:49 +02:00
Daniel Marjamäki 262d37fb47 windows installer: another attempt to make help work. the 'contents' are shown now but for some reason the 'index' is not. 2020-08-28 19:05:11 +02:00
Daniel Marjamäki bb5cad42cd astyle formatting
[ci skip]
2020-08-26 10:15:09 +02:00
Daniel Marjamäki 2028591ecf Travis: Rename VariableContractsDialog::ui to VariableContractsDialog::mUI to follow naming convention 2020-08-24 22:11:07 +02:00
Daniel Marjamäki 6277eece67 Variable contracts 2020-08-24 20:57:49 +02:00
Paul 3523d2b329 Remove unused variable 2020-08-11 14:05:28 -05:00
Daniel Marjamäki d83757f1a1 astyle formatting 2020-08-05 13:58:06 +02:00
Daniel Marjamäki 9693940dad GUI: Try to fix online-help 2020-08-02 21:04:01 +02:00
Daniel Marjamäki 14dfa035c1 GUI: Try to reuse Qt Assistant to show help 2020-08-01 18:56:37 +02:00
Frank Zingsheim 686a1bec99 GUI: Add online help (CMake) 2020-07-26 00:22:28 +02:00
Daniel Marjamäki 1965f2cc9f help: update warning menu screenshot 2020-07-23 16:30:10 +02:00
Daniel Marjamäki f11a089141 help/manual: update explanations about severities 2020-07-23 16:09:24 +02:00
Daniel Marjamäki 5a99b81ed7 GUI: online-help (severities) 2020-07-22 14:31:17 +02:00
Daniel Marjamäki 5455da8fa6 GUI: Updated help (index) 2020-07-21 21:58:51 +02:00
Daniel Marjamäki ca1fcfa8bc GUI: Only suppress warnings by hash during bug hunting 2020-07-21 17:45:56 +02:00