The open source Cppcheck 1.77 Update has been announced for general availability. This latest release comes with a host of improvements and a few bug fixes.
Cppcheck is a static C and C++ code analysis tool. What this tool does, is it checks for real errors in code with reduced to no risk of detecting false positives. It is designed to check for In computing technology, a bug is an unintentional coding error in a computer application program, hardware device or operating system. Bugs can typically cause annoying computer glitches, or cause more serious problems including life-threatening situations. In 2018 and 2019 a bug in the sensor on the Boeing 737 Max caused Lion Air Flight 610 and Ethiopian Airlines Flight 302 to... More which compilers normally overlook. It is also good to note that this tool does not normally detect syntax errors.
Furthermore, Cppcheck comes with a rich assortment of plugins for your favorite Integrated Development Environment (IDE) and C++ development tools. There is a plugin for CLion by JetBrains, Code::Blocks and CodeDx. Codelite, CppDepend 5 and Eclipse are also covered.
You can also find a plugin for,
gedit Hudson and Jenkins. The popular Visual Studio and Qt Creator also have plugins to integrate Cppcheck. Other source control systems that support Cppchek include Mercurial, Tortoise SVN and Git (Linux).
What’s new in the Cppcheck 1.77 Tool
Incremental analysis and inter-file checking are now supported in this version via a new flag.
--cppcheck-build-dir There is also improved support for Visual Studio solutions. There is also support for the build A folder or directory is an organized collection or group of files on a computer system that can be accessed from a filesystem path. The Folder is the term usually used on Windows-based systems while the directory is the term used on other major operating systems such as Unix, Linux, OSX, iOS, and Android. In Unix based systems, a directory... More through the Command-line In computing, an interface is a shared means by which two or more separate components of a computer system exchange information. The interface could be between the human and a computing device, two computers, computer hardware, software or peripheral devices. Examples include touch screens which allow information to be exchanged between a human and the devices, A software graphical interface,... More (CLI).
New checks making their debut include detection of A cursor or pointer is an indicator used in computer user interfaces such as monitors or other display devices to show the current position of user interaction with the task at hand. The indicator here is usually represented as an arrow in the default state. Based on the function or the software the user is interfacing with, the cursor may... More overflow and detection of usage of a variable after
Other improvements include warnings about number and char literals in boolean expressions plus checks for modified variables which are then never used. There is an improved simplification of Null values. Function return values and casts get improved ValueFlow and you can now specify in the Libraries. These allow for more accurate checking.
There are several improvements to the following configurations:
std.cfg as well as re-implemented checks for using iterators of mismatching containers.