<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Activity for cppcheck</title><link>https://sourceforge.net/p/cppcheck/activity/</link><description>Recent activity for cppcheck</description><language>en</language><lastBuildDate>Mon, 11 May 2026 06:08:35 -0000</lastBuildDate><item><title>correctmost posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/6a30122b74/?limit=25#8f99</link><description>The text and XML outputs report unmatchedSuppression errors, but the SARIF output does not. This makes it harder to debug failures when using --enable=all --error-exitcode=1 --output-format=sarif together. It seems like this behavior might be by design to accommodate GitHub: https://github.com/cppcheck-opensource/cppcheck/blob/9a00e4a1050abdd7452f9afe7d5b323aed0e789a/lib/sarifreport.cpp#L44-L46 The SARIF spec seems to allow for results without locations, but I'm not sure if that plays well with GitHub:...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">correctmost</dc:creator><pubDate>Mon, 11 May 2026 06:08:35 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/6a30122b74/?limit=25#8f99</guid></item><item><title>Yelihovich yan posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/585e8dcf77/?limit=25#5498</link><description>Heartland Pursuit: Navigating Kansas City’s Explosive Sports and Fashion Scene Kansas City has recently emerged as a primary epicenter for professional sports in the United States. The city’s energy is electric, and its residents wear their pride as a badge of honor. For local youth hitting the outdoor courts, iconic silhouette basketball sneakers for street style are the preferred choice, offering both historical significance and modern comfort. The gridiron is king in Kansas City. Fans are constantly...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yelihovich yan</dc:creator><pubDate>Mon, 11 May 2026 01:57:42 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/585e8dcf77/?limit=25#5498</guid></item><item><title>correctmost posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#c518/f122</link><description>Hm, I still see the syntaxError with -isystem. I also tried -i/usr/ and -igtkenums.h and got the same error. I guess the /usr/include/gtk-3.0/gtk/gtkenums.h header gets checked indirectly? I investigated the false positives with g_assert and found that a GLib header (glib/gtestutils.h) has a g_assert definition that seems to take precedence over the definition from the gtk.cfg file. Is there any way to make the library definition take precedence? During my testing, I accidentally created an invalid...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">correctmost</dc:creator><pubDate>Fri, 08 May 2026 05:44:26 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#c518/f122</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#c518</link><description>I see. Maybe -isystem would help?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Thu, 07 May 2026 21:26:59 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#c518</guid></item><item><title>correctmost posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#ae67/dee2</link><description>Removing -I helps for this simplified case. I saw this issue while trying to run cppcheck on larger projects like xfce4-places-plugin. For those projects, I run cppcheck --enable=all --library=gtk --project=builddir/compile_commands.json. The -I directories seem to get picked up automatically from the JSON data: "command": "clang -Ipanel-plugin/libplaces.so.p -Ipanel-plugin -I../panel-plugin -I. -I.. -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/include/libmount...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">correctmost</dc:creator><pubDate>Thu, 07 May 2026 15:26:56 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#ae67/dee2</guid></item><item><title>Jacob Doherty posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/2a2d4526e7/?limit=25#ad37</link><description>Hey team, I see this message in my terminal when running the donate-cpu script. I have cppcheck-2.20.0 and it looks like the script is pulling from main each time. If anyone has any wisdom would be great. TLDR: What is this referring to and which client is it: ATTENTION: A newer client version (1.4.0) is available - please update!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jacob Doherty</dc:creator><pubDate>Thu, 07 May 2026 10:26:32 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/2a2d4526e7/?limit=25#ad37</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#ae67</link><description>Using --library and giving cppcheck access to the corresponding headers is not recommended, what happens if you remove -I?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Thu, 07 May 2026 06:27:09 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#ae67</guid></item><item><title>correctmost posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#242a</link><description>Hi, I am seeing a false positive syntaxError when I run cppcheck -I /usr/include/gtk-3.0/ --library=gtk on this simplified code: #include &lt;gtk/gtkenums.h&gt; int main() { return 0; } Output: /usr/include/gtk-3.0/gtk/gtkenums.h:825:1: error: syntax error: 0 = [syntaxError] Here is the relevant code from gtkenums.h: 824 typedef enum 825 { 826 GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH = 0, 827 GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT, 828 GTK_SIZE_REQUEST_CONSTANT_SIZE 829 } GtkSizeRequestMode; And here is the relevant...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">correctmost</dc:creator><pubDate>Thu, 07 May 2026 04:50:45 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/c021773890/?limit=25#242a</guid></item><item><title>Bassam Abdul-Baki posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/aa6bd7c485/?limit=250#67c8</link><description>Figured out the freeze problem. One of the includedir quotes was a curly quote and it was causing problems.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bassam Abdul-Baki</dc:creator><pubDate>Wed, 06 May 2026 11:56:29 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/aa6bd7c485/?limit=250#67c8</guid></item><item><title>Bassam Abdul-Baki posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/aa6bd7c485/?limit=250#46e6</link><description>Is there a way to open a project in the GUI without analyzing the project immediately? I had too many include paths that was causing it to freeze. I can do it in Notepad. I was just wondering if it can be done by opening the GUI first.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bassam Abdul-Baki</dc:creator><pubDate>Tue, 05 May 2026 17:49:28 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/aa6bd7c485/?limit=250#46e6</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/579f4f4cbd/?limit=25#f8f3</link><description>Let's start preparing for Cppcheck 2.21 release. let's try to focus on bug fixes for a wihle. there are 3 crashes reported right now but they could be temporary let's see.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Mon, 04 May 2026 12:45:36 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/579f4f4cbd/?limit=25#f8f3</guid></item><item><title>Dave Ohlsson posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1e6605dac8/?limit=25#ba9e</link><description>We use Cppcheck 2.20.0 (Windows version) to analyze our Qt project. The sources of our project are located under two directories: 1) C:/path/to/sources - contains the sources proper 2) C:/path/to/build - contains header files (ui_*.h) generated by Qt Cppcheck 2.20 has a useful warning: functionStatic. This warning, however, is generated for many of our ui_*.h headers: The member function 'Ui_FooDialog::retranslateUi' can be static. Since these headers are generated, the proper fix would be to instruct...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Ohlsson</dc:creator><pubDate>Wed, 29 Apr 2026 06:02:20 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1e6605dac8/?limit=25#ba9e</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/2ab4ded2d7/?limit=25#06e9</link><description>I have moved the repositories cppcheck, simplecpp and cppcheck-htdocs to https://github.com/cppcheck-opensource</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Fri, 24 Apr 2026 14:26:54 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/2ab4ded2d7/?limit=25#06e9</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/d6bb1151e0/?limit=25#56f7</link><description>I would like that the --xml-version=3 report contains a list of files. All source and header files that has been used in the analysis. And I would prefer to write the SHA-256 hash for each file. With this information it will be possible to verify later if a certain xml report was generated when cppcheck checked certain files with specific contents or not. I have looked up https://github.com/okdshin/PicoSHA2 it looks acceptable to me.. What is your opinions? Do you feel it's a nice feature for open...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Fri, 24 Apr 2026 13:54:38 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/d6bb1151e0/?limit=25#56f7</guid></item><item><title>Damien posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/3ee1ad8d9f/?limit=25#2860</link><description>I should add the test I did. I added in the existing code of EventDispatcher.cpp in a function body just a variable declaration: { int a; ... } In the unit-test execution, I get style: Unused variable as expected. But nothing for this file in the application analysis.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Damien</dc:creator><pubDate>Tue, 21 Apr 2026 13:35:37 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/3ee1ad8d9f/?limit=25#2860</guid></item><item><title>Damien posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/3ee1ad8d9f/?limit=25#adb1</link><description>I'm new to CppCheck 2.19.1 and have introduced it in our development projects. I use it on one hand in our C++ unit-tests, based on CMake and g++ compiler, executed in MSYS2 environment on Windows. CppCheck produces many useful remarks. I use it for our C++ application too, managed in Segger Embedded Studio 8.22a (SES). I configured SES to generate a compile_commands.json file. The analyse is executed on the whole application with the same bash script in MSYS2 environment on Windows too. In this...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Damien</dc:creator><pubDate>Tue, 21 Apr 2026 12:39:57 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/3ee1ad8d9f/?limit=25#adb1</guid></item><item><title>Daniel Marjamäki modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c/85a8</link><description>Hi, as far as I remember misra.py covers amendments 1 &amp; 2. But not amendments 3 &amp; 4. I.e. rules 1.4 and 1.5 are missing. We have not actively removed or crippled the functionality in misra.py. When it said that MISRA C:2012 support was complete in misra.py it meant that we had implemented checkers for all rules. It did not mean that each checker would catch all violations. We have made lots of improvements in the checkers in Cppcheck Premium it has substantially better coverage of many rules. I am...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Fri, 17 Apr 2026 18:09:14 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c/85a8</guid></item><item><title>Daniel Marjamäki posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c/85a8</link><description>Hi, as far as I remember misra.py covers amendments 1 &amp; 2. But not amendments 3 &amp; 4. I.e. rules 1.4 and 1.5 are missing. We have not actively removed or crippled the functionality in misra.py. When it said that MISRA C:2012 support was complete it meant that we had implemented checkers for all rules. It did not mean that each checker would catch all violations. We have made lots of improvements in the checkers in Cppcheck Premium it has substantially better coverage of many rules. I am not against...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Fri, 17 Apr 2026 18:08:42 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c/85a8</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/2ab4ded2d7/?limit=25#19d1</link><description>I am thinking about moving the open source cppcheck-related repos. my idea was to move from danmar/cppcheck to some cppcheck/cppcheck path. however owner "cppcheck" seems to be taken already. Anyway the repos will be owned by an organisation instead.. https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository before I do it.. does anybode envision some particular problems.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Thu, 16 Apr 2026 09:28:57 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/2ab4ded2d7/?limit=25#19d1</guid></item><item><title>Karel Hevessy modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c</link><description>Hello, On the MISRA page https://cppcheck.sourceforge.io/misra.php (which is no longer available, but can be found via the Internet Archive and in the website repository: https://github.com/danmar/cppcheck-htdocs/blob/master/misra.php) it was stated that MISRA C:2012 support in Cppcheck is complete, including amendments, and that together with a C compiler full support is achieved. The current documentation now says that the open source version “does not fully implement MISRA C 2012”. Current misra.py...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karel Hevessy</dc:creator><pubDate>Wed, 15 Apr 2026 06:40:40 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c</guid></item><item><title>Karel Hevessy posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c</link><description>Hello, In 2021 it was stated (e.g. on the MISRA page and in forum posts) that MISRA C:2012 coverage in Cppcheck is complete, including amendments, and that together with a C compiler full coverage is achieved. The current documentation now says that the open source version “does not fully implement MISRA C 2012”. Has the implementation changed since then, or is this only a change in how “coverage” is defined? Regards, Karel</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karel Hevessy</dc:creator><pubDate>Wed, 15 Apr 2026 06:34:01 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/d0f12ea73b/?limit=25#374c</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/21e33798c7/?limit=25#f983</link><description>Covered by https://trac.cppcheck.net/ticket/12773</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Tue, 07 Apr 2026 12:56:56 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/21e33798c7/?limit=25#f983</guid></item><item><title>Lila posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/21e33798c7/?limit=25#4074</link><description>If my understanding of try_emplace is correct, it doesn't move rvalue arguments in case of insertion failure. Unlike insert or emplace, these functions do not move from rvalue arguments if the insertion does not happen, which makes it easy to manipulate maps whose values are move-only types, such as std::map&lt;std::string, std::unique_ptr&lt;foo&gt;&gt;. https://en.cppreference.com/w/cpp/container/map/try_emplace Cppcheck reports "Access of moved variable" when I try to access std::unique_ptr in case of failure...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lila</dc:creator><pubDate>Tue, 07 Apr 2026 12:24:22 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/21e33798c7/?limit=25#4074</guid></item><item><title>CHR modified a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/1c10862acf/?limit=25#4e98</link><description>cppcheck will warn on the first definition of a function, so the warning will change if the order of the files on the command line is flipped. The configuration of BOOST_AUTO_TEST_CASE in boost.cfg will need to be fixed though. https://trac.cppcheck.net/ticket/14654</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Tue, 07 Apr 2026 07:32:53 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/1c10862acf/?limit=25#4e98</guid></item><item><title>CHR posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/1c10862acf/?limit=25#4e98</link><description>cppcheck will warn on the first definition of a function, so the warning will change if the order of the files on the command line is flipped. The configuration of BOOST_AUTO_TEST_CASE in boost.cfg will need to be fixed though.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Tue, 07 Apr 2026 06:52:04 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/1c10862acf/?limit=25#4e98</guid></item><item><title>Stevan White posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/1c10862acf/?limit=25#df4f</link><description>test_a.cpp -- triggers warning: #define BOOST_AUTO_TEST_CASE(...) void BOOST_AUTO_TEST_CASE_run(__VA_ARGS__) int x = 1; // file-scope declaration before first test case BOOST_AUTO_TEST_CASE( test_one ) { x = 2; } test_b.cpp -- no warning: #define BOOST_AUTO_TEST_CASE(...) void BOOST_AUTO_TEST_CASE_run(__VA_ARGS__) BOOST_AUTO_TEST_CASE( test_one ) { int x = 1; } Command: cppcheck --std=c++17 --enable=unusedFunction test_a.cpp test_b.cpp Expected: consistent behaviour -- either both warned or neither....</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevan White</dc:creator><pubDate>Mon, 06 Apr 2026 11:47:39 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/1c10862acf/?limit=25#df4f</guid></item><item><title>Bassam Abdul-Baki posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/d37c0a1478/?limit=250#edc9</link><description>Every time we have a new build, it goes into a different build root folder with (usually) the same subfolders. Is there a way to create a project baseline from an initial folder and then subsequently see what changed by pointing to the next newer folder? I've been creating new projects for new builds, but I was hoping I create a build based upon the previous one with some form of version control or the ability to see diff changes. Thanks, Bassam</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bassam Abdul-Baki</dc:creator><pubDate>Mon, 06 Apr 2026 11:13:05 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/d37c0a1478/?limit=250#edc9</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/fcc5e36c59/?limit=25#4e8d</link><description>You could set a breakpoint on the syntax error and check what is causing it. Maybe an encoding issue?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Sun, 05 Apr 2026 18:08:35 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/fcc5e36c59/?limit=25#4e8d</guid></item><item><title>gruenich posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/fcc5e36c59/?limit=100#2788</link><description>For a couple of weeks cppcheck stopped working for me. Every JSON Compilation Database file I pass to cppcheck is rejected by a syntax error. It is always the last square bracket. The JSON files are created by CMake 4.2, 4.3, and Bear 3.1.6. Even if I try to create a trivial JSON file by hand, I get the error. &gt; /home/gruenich/cppcheck/build/bin/cppcheck compile_commands.json Checking compile_commands.json ... compile_commands.json:260:1: error: syntax error [syntaxError] ] ^ I tried with 2.19, 2.20...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">gruenich</dc:creator><pubDate>Sat, 04 Apr 2026 13:57:44 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/fcc5e36c59/?limit=100#2788</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/9bdb784e85/?limit=25#03d9</link><description>cppcheck 2.20.0 generates misra-c2012-2.2 false positive for the following code: #include &lt;windows.h&gt; int func(HANDLE event1, HANDLE event2) { HANDLE events[] = {event1, event2}; switch (WaitForMultipleObjects(2, events, FALSE, INFINITE)) { case WAIT_OBJECT_0: return 1; case WAIT_OBJECT_0 + 1: return 2; } return 0; } cppcheck.exe --enable=all --library=windows --addon=misra.json . test\main.cpp:10:7: style: There shall be no dead code [misra-c2012-2.2] case WAIT_OBJECT_0 + 1: ^</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 01 Apr 2026 05:58:35 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/9bdb784e85/?limit=25#03d9</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/4c251caacb/?limit=25#d595</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14624</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Fri, 27 Mar 2026 18:22:42 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/4c251caacb/?limit=25#d595</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/4c251caacb/?limit=25#3b73</link><description>cppcheck 2.20.0 generates wrongPrintfScanfArgNum for the following code: #include &lt;stdio.h&gt; int main() { const char* str = "test."; const size_t size = 5; char buffer[size]; sscanf_s(str, "%4[^.]", buffer, size); return 0; } test\main.cpp:8:2: error: sscanf_s format string requires 3 parameters but only 2 are given. [wrongPrintfScanfArgNum] sscanf_s(str, "%4[^.]", buffer, size); ^</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Fri, 27 Mar 2026 03:52:24 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/4c251caacb/?limit=25#3b73</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/51cc169088/?limit=25#041b</link><description>Will be fixed by https://github.com/danmar/cppcheck/pull/8301 There is an issue with using covered by https://trac.cppcheck.net/ticket/14578</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Sat, 07 Mar 2026 19:00:58 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/51cc169088/?limit=25#041b</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/f59db77018/?limit=25#825c</link><description>Feature request: ability to enable SafeChecks via command line arg.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Sat, 07 Mar 2026 07:53:31 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/f59db77018/?limit=25#825c</guid></item><item><title>Nikita Leontiev modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/51cc169088/?limit=25#95d4</link><description>cppcheck 2.20.0 doesn't generate useStlAlgorithm for the following code: #include &lt;string&gt; #include &lt;vector&gt; #include &lt;windows.h&gt; using std::wstring; class Object { private: wstring m_str; public: Object() : m_str(L"str") {} const wstring&amp; get_str() const { return m_str; } }; Object* func(const std::vector&lt;Object*&gt;&amp; objects) { for (std::vector&lt;Object*&gt;::const_iterator it = objects.begin(); it != objects.end(); ++it) { if (!lstrcmpi((*it)-&gt;get_str().c_str(), L"str")) return *it; } return NULL; } useStlAlgorithm...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Sat, 07 Mar 2026 04:50:48 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/51cc169088/?limit=25#95d4</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/51cc169088/?limit=25#95d4</link><description>cppcheck 2.20.0 doesn't generate useStlAlgorithm for the following code: #include &lt;string&gt; #include &lt;vector&gt; #include &lt;windows.h&gt; using std::wstring; class Object { private: wstring m_str; public: Object() : m_str(L"str") {} const wstring&amp; get_str() const { return m_str; } }; Object* func(const std::vector&lt;Object*&gt;&amp; objects) { for (std::vector&lt;Object*&gt;::const_iterator it = objects.begin(); it != objects.end(); ++it) { if (!lstrcmpi((*it)-&gt;get_str().c_str(), L"str")) return *it; } return NULL; } useStlAlgorithm...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Sat, 07 Mar 2026 04:49:56 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/51cc169088/?limit=25#95d4</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/7d4e186bd9/?limit=25#084a</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14575</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Fri, 06 Mar 2026 09:31:20 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/7d4e186bd9/?limit=25#084a</guid></item><item><title>CHR posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/98dff4edd8/?limit=25#385c</link><description>If you want this merged, please open a PR at https://github.com/danmar/cppcheck/pulls</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Fri, 06 Mar 2026 09:16:36 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/98dff4edd8/?limit=25#385c</guid></item><item><title>ams21 posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/98dff4edd8/?limit=25#aa49</link><description>I've noticed since version 2.19.0 building with musl libc (alpine for example). I get the following error: /dev/cppcheck/cli/stacktrace.cpp:29:10: fatal error: execinfo.h: No such file or directory 29 | #include &lt;execinfo.h&gt; | ^~~~~~~~~~~~ But using the following patch it works: diff --git a/lib/config.h b/lib/config.h index a63cf773d..d29e630f6 100644 --- a/lib/config.h +++ b/lib/config.h @@ -206,7 +206,7 @@ #define USE_WINDOWS_SEH #endif -#if !defined(NO_UNIX_BACKTRACE_SUPPORT) &amp;&amp; defined(__GNUC__)...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ams21</dc:creator><pubDate>Fri, 06 Mar 2026 09:12:16 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/98dff4edd8/?limit=25#aa49</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/7d4e186bd9/?limit=25#f134</link><description>cppcheck 2.20.0 doesn't generate constVariablePointer for the following code: #include &lt;string&gt; using std::wstring; class Object { private: wstring m_str; public: Object() : m_str(L"str") {} const wstring&amp; get_str() const { return m_str; } }; Object* get_object() { static Object obj; return &amp;obj; } void func(const wchar_t*) {} int main() { Object* obj = get_object(); func(obj-&gt;get_str().c_str()); return 0; } obj can be pointer to const. constVariablePointer is generated with --std=c++03 arg: test\main.cpp:24:10:...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Fri, 06 Mar 2026 08:52:13 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/7d4e186bd9/?limit=25#f134</guid></item><item><title>Zufu Liu posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/ad5975718e/?limit=25#b2cc</link><description>cppcheckgui.exe crashed (without messages, where can I find crash logs?) when open and check https://github.com/zufuliu/notepad4/blob/main/Notepad4.cppcheck but command line cppcheck.exe --project="D:\notepad4\notepad4\build\VisualStudio\Notepad4.sln" --project-configuration="Release|x64" finished without crash and shows some [ctuOneDefinitionRuleViolation] warnings at end. It seems command line cppcheck.exe not support Cppcheck own project file? cppcheck.exe --project="D:\notepad4\notepad4\Notepad4.cppcheck"...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Zufu Liu</dc:creator><pubDate>Thu, 05 Mar 2026 12:47:41 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/ad5975718e/?limit=25#b2cc</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/630138767f/?limit=25#8cb3</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14571</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Thu, 05 Mar 2026 10:19:30 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/630138767f/?limit=25#8cb3</guid></item><item><title>Daniel Marjamäki modified a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#8132/f029</link><description>It is much cleaner to construct the variable with the correct type instead of using a static_cast, +1 I also see such somewhat related code now and then: auto s = std::string{"hello"};</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Thu, 05 Mar 2026 09:20:37 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#8132/f029</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#d479</link><description>so as I read it we think that example 2 and example 3 are OK. I believe that example 1 is discussible. There may be situations where auto is preferable and then there are situations where it would be better to remove the cast and not use auto. Imho, the downsides of the auto+cast is that it's extra code and it can hide compiler warnings that may point out real bugs.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Thu, 05 Mar 2026 09:20:15 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#d479</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/630138767f/?limit=25#5fe2</link><description>cppcheck 2.20.0 doesn't generate constVariablePointer for the following code: #include &lt;string&gt; class Object { private: std::string m_str; public: Object() : m_str("str") {} const std::string&amp; get_str() const { return m_str; } }; char buffer[256]; struct Item { char* m_buffer; Item() : m_buffer(buffer) {} }; struct Wrapper { Item m_item; }; Object* get_object() { static Object object; return &amp;object; }; int main() { Wrapper wrap; Item&amp; item = wrap.m_item; Object* obj = get_object(); strcpy(item.m_buffer,...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Thu, 05 Mar 2026 09:17:36 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/630138767f/?limit=25#5fe2</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#8132/f029</link><description>It is much cleaner to construct the variable with the correct type instead of using a static_cast, +1 casts can hide compiler warnings about real bugs. I also see such somewhat related code now and then: auto s = std::string{"hello"};</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Thu, 05 Mar 2026 09:15:46 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#8132/f029</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/be646745af/?limit=25#863a</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14567</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Thu, 05 Mar 2026 08:10:27 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/be646745af/?limit=25#863a</guid></item><item><title>itzexpoexpo posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/be646745af/?limit=25#7344</link><description>Cppcheck 2.20.0 flags this code: template &lt;typename test_t&gt; concept MRE = requires() { std::is_aggregate_v&lt;test_t&gt;; } || requires() { std::is_standard_layout_v&lt;test_t&gt;; }; with the following error: test.cpp:5:59: error: Syntax Error: AST broken, binary operator '||' doesn't have two operands. [internalAstError] concept MRE = requires() { std::is_aggregate_v&lt;test_t&gt;; } || requires() { std::is_standard_layout_v&lt;test_t&gt;; }; this error occurs only if a parameter list is present (empty or otherwise),...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">itzexpoexpo</dc:creator><pubDate>Thu, 05 Mar 2026 01:41:03 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/be646745af/?limit=25#7344</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f3e7a2730/?limit=25#1b2f</link><description>Thanks for reporting, see https://trac.cppcheck.net/ticket/14564</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 04 Mar 2026 09:09:45 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f3e7a2730/?limit=25#1b2f</guid></item><item><title>Nikita Leontiev modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f3e7a2730/?limit=25#00e0</link><description>cppcheck 2.20.0 generates AssignmentIntegerToAddress for the following code: #include &lt;windows.h&gt; int main() { int first_id = 1; int res = 5; const char* ptr = MAKEINTRESOURCE(res - first_id); (void)ptr; return 0; } cppcheck.exe --enable=all --library=windows . test\main.cpp:7:18: portability: Assigning an integer to a pointer is not portable. [AssignmentIntegerToAddress] const char* ptr = MAKEINTRESOURCE(res - first_id); ^ MAKEINTRESOURCE: #define MAKEINTRESOURCEA(i) ((LPSTR)((ULONG_PTR)((WORD)(i))))...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 08:45:32 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f3e7a2730/?limit=25#00e0</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f3e7a2730/?limit=25#00e0</link><description>cppcheck 2.20.0 generates AssignmentIntegerToAddress for the following code: #include &lt;windows.h&gt; int main() { int first_id = 1; int res = 5; const char* ptr = MAKEINTRESOURCE(res - first_id); (void)ptr; } cppcheck.exe --enable=all --library=windows . test\main.cpp:7:18: portability: Assigning an integer to a pointer is not portable. [AssignmentIntegerToAddress] const char* ptr = MAKEINTRESOURCE(res - first_id); ^ MAKEINTRESOURCE: #define MAKEINTRESOURCEA(i) ((LPSTR)((ULONG_PTR)((WORD)(i)))) cppcheck...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 08:43:00 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f3e7a2730/?limit=25#00e0</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#2eea</link><description>So you would like to see the warning without --library=windows, right? Yes</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 08:28:54 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#2eea</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#c220</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14560</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 04 Mar 2026 07:52:35 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#c220</guid></item><item><title>CHR modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#ca3f</link><description>So you would like to see the warning without --library=windows, right? I have created this ticket: https://trac.cppcheck.net/ticket/14559</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 04 Mar 2026 07:48:51 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#ca3f</guid></item><item><title>CHR modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#ca3f</link><description>So you would like to see the warning with --library=windows, right?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 04 Mar 2026 07:42:10 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#ca3f</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#ca3f</link><description>Isn't this a true positive? The code below compiles just fine. int GetSysColor(int); class CColor { private: int m_color; public: CColor() : m_color(1) {} int get_color() const { return m_color; } }; class CWrapper { private: CColor *m_color; public: explicit CWrapper(CColor* color) : m_color(color) {} CColor* get_color() const { return m_color; } }; int test(const CWrapper &amp; wrap) { const CColor *color = wrap.get_color(); return GetSysColor(color?color -&gt; get_color():1); }</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 04 Mar 2026 07:40:46 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#ca3f</guid></item><item><title>Nikita Leontiev modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#57b6</link><description>Same false positive with SetupDiGetDeviceInstanceId: #include &lt;windows.h&gt; #include &lt;SetupAPI.h&gt; void GetDeviceInstanceId(HDEVINFO info, SP_DEVINFO_DATA *data) { const DWORD buffer_size = 256; char buffer[buffer_size]; SetupDiGetDeviceInstanceId(info, data, buffer, buffer_size, NULL); } test\main.cpp:1:2: information: Include file: &lt;windows.h&gt; not found. Please note: Standard library headers do not need to be provided to get proper results. [missingIncludeSystem] #include &lt;windows.h&gt; ^ test\main.cpp:2:2:...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 06:24:16 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#57b6</guid></item><item><title>Nikita Leontiev modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#e57e</link><description>cppcheck 2.20.0 generates constParameterPointer for the following code: #include &lt;windows.h&gt; HWND CreateMessageWnd(void* param) { return CreateWindow(L"MessageWnd", NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, param); } cppcheck.exe --enable=all --library=windows . test\main.cpp:1:2: information: Include file: &lt;windows.h&gt; not found. Please note: Standard library headers do not need to be provided to get proper results. [missingIncludeSystem] #include &lt;windows.h&gt; ^ test\main.cpp:3:29: style: Parameter...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 06:23:45 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#e57e</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#57b6</link><description>Same false positive with SetupDiGetDeviceInstanceId: #include &lt;windows.h&gt; #include &lt;SetupAPI.h&gt; void GetDeviceInstanceId(HDEVINFO info, SP_DEVINFO_DATA *data) { const DWORD buffer_size = 256; char buffer[buffer_size]; SetupDiGetDeviceInstanceId(info, data, buffer, buffer_size, NULL); } test\main.cpp:1:2: information: Include file: &lt;windows.h&gt; not found. Please note: Standard library headers do not need to be provided to get proper results. [missingIncludeSystem] #include &lt;windows.h&gt; ^ test\main.cpp:2:2:...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 06:22:56 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#57b6</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#e57e</link><description>cppcheck 2.20.0 generates constParameterPointer for the following code: #include &lt;windows.h&gt; HWND CreateMessageWnd(void* param) { return CreateWindow(L"MessageWnd", NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, param); } cppcheck.exe --enable=all --library=windows . test\main.cpp:1:2: information: Include file: &lt;windows.h&gt; not found. Please note: Standard library headers do not need to be provided to get proper results. [missingIncludeSystem] #include &lt;windows.h&gt; ^ test\main.cpp:3:29: style: Parameter...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 05:41:20 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0d15f01250/?limit=25#e57e</guid></item><item><title>Nikita Leontiev posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#35d6</link><description>cppcheck 2.20.0 generates constVariablePointer for the following code: #include &lt;windows.h&gt; class CColor { private: int m_color; public: CColor() : m_color(1) {} int get_color() const { return m_color; } }; class CWrapper { private: CColor *m_color; public: explicit CWrapper(CColor* color) : m_color(color) {} CColor* get_color() const { return m_color; } }; int test(const CWrapper &amp; wrap) { CColor *color = wrap.get_color(); return GetSysColor(color?color -&gt; get_color():1); } cppcheck.exe --enable=all...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikita Leontiev</dc:creator><pubDate>Wed, 04 Mar 2026 03:38:36 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/8604118af4/?limit=25#35d6</guid></item><item><title>gruenich posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0befd8b25f/?limit=25#72c4</link><description>I know. I ended up using chrpath to work around this issue. After creating the 2.20 package, I tried to remove the work around. To my surprise, it works now. So probably a no-issue, but I still don't know what happened with 2.19.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">gruenich</dc:creator><pubDate>Tue, 03 Mar 2026 20:17:13 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0befd8b25f/?limit=25#72c4</guid></item><item><title>Daniel Marjamäki created a blog post</title><link>https://sourceforge.net/p/cppcheck/news/2026/03/cppcheck-2200/</link><description>Cppcheck-2.20.0</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Mon, 02 Mar 2026 18:28:08 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/news/2026/03/cppcheck-2200/</guid></item><item><title>cppcheck released /cppcheck/2.20/cppcheck-2.20.0.zip</title><link>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/cppcheck-2.20.0.zip/download</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">cppcheck</dc:creator><pubDate>Mon, 02 Mar 2026 17:29:05 -0000</pubDate><guid>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/cppcheck-2.20.0.zip/download</guid></item><item><title>cppcheck released /cppcheck/2.20/cppcheck-2.20.0.tar.gz</title><link>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/cppcheck-2.20.0.tar.gz/download</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">cppcheck</dc:creator><pubDate>Mon, 02 Mar 2026 17:29:05 -0000</pubDate><guid>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/cppcheck-2.20.0.tar.gz/download</guid></item><item><title>cppcheck released /cppcheck/2.20/cppcheck-2.20.0.tar.bz2</title><link>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/cppcheck-2.20.0.tar.bz2/download</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">cppcheck</dc:creator><pubDate>Mon, 02 Mar 2026 17:29:05 -0000</pubDate><guid>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/cppcheck-2.20.0.tar.bz2/download</guid></item><item><title>cppcheck released /cppcheck/2.20/README.md</title><link>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/README.md/download</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">cppcheck</dc:creator><pubDate>Mon, 02 Mar 2026 17:28:06 -0000</pubDate><guid>https://sourceforge.net/projects/cppcheck/files/cppcheck/2.20/README.md/download</guid></item><item><title>Paul Fultz posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#8132</link><description>The problem with example 1 is the static_cast. I do find this common pattern with AI generated code. It is much cleaner to construct the variable with the correct type instead of using a static_cast, like char t = type or char t{type}. I actually have an addon that checks for these redundant casts: @cppcheck.checker def RedundantCast(cfg, data): for token in cfg.tokenlist: if not token.variable: continue m = match(token, "%var%@decl ; %var%@assign = static_cast &lt;*&gt;@cast (*) ;") if not m: continue...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Fultz</dc:creator><pubDate>Mon, 02 Mar 2026 15:35:17 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#8132</guid></item><item><title>Oliver Stöneberg posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#02ca</link><description>I think all three are valid. Example 1 is not about saving code but redundancies. The type is clearly specified so there is no need to specify it again. So that should be done. Example 2 it would help understanding the code but if you are using a proper IDE the tooltip should take care of that. Example 3 it saves a lot of space and I think this is about the as_const() as well. I think that is a good use of auto and again the IDE tooltip would be good here. Buit in case of 2 or 3 I could go either...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Sun, 01 Mar 2026 22:10:39 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#02ca</guid></item><item><title>Daniel Marjamäki modified a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#f197</link><description>I feel that auto is overused in cppcheck. And would like to have a little discussion about it. I don't want that we just mechanically replace types with auto whenever possible. Can we agree on when it is OK to use it. Example 1: Cast result assigned to variable: const auto t = static_cast&lt;char&gt;(type); I am not convinced that auto is a good idea if the typename is short and simple. It does not save any bytes to write auto here. If we just save 2-3 bytes by writing auto I still suggest we should write...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Sun, 01 Mar 2026 18:56:00 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#f197</guid></item><item><title>Daniel Marjamäki posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#f197</link><description>I feel that auto is overused in cppcheck. And would like to have a little discussion about it. I don't want that we just mechanically replace types with auto whenever possible. Can we agree on when it is OK to use it. Example 1: Cast result assigned to variable: const auto t = static_cast&lt;char&gt;(type); I am not convinced that auto is a good idea if the typename is short and simple. It does not save any bytes to write auto here. If we just save 2-3 bytes by writing auto I still suggest we should write...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Marjamäki</dc:creator><pubDate>Sun, 01 Mar 2026 18:47:35 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/34ff9ac443/?limit=25#f197</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/20295225d7/?limit=25#59d6</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14548</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Sat, 28 Feb 2026 18:09:11 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/20295225d7/?limit=25#59d6</guid></item><item><title>NRK posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/20295225d7/?limit=25#670c</link><description>Minimal reproducer: [/tmp]~&gt; cat test.c typedef struct { char *s; int len; } Str; void f(int n) { Str tmp = {0}; Str s = n == 0 ? (Str){0} : tmp; } [/tmp]~&gt; cppcheck test.c Checking test.c ... test.c:6:17: error: Syntax Error: AST broken, ternary operator lacks ':'. [internalAstError] Str s = n == 0 ? (Str){0} : tmp; ^ Wrapping the compound literal in a paren seems to solve it: [/tmp]~&gt; cat test2.c typedef struct { char *s; int len; } Str; void f(int n) { Str tmp = {0}; Str s = n == 0 ? ((Str){0})...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">NRK</dc:creator><pubDate>Sat, 28 Feb 2026 12:41:15 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/20295225d7/?limit=25#670c</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/eacf80bdea/?limit=25#7fb9</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14540</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Thu, 26 Feb 2026 07:57:11 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/eacf80bdea/?limit=25#7fb9</guid></item><item><title>Bassam Abdul-Baki posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/eacf80bdea/?limit=250#903b</link><description>I'm getting an error for the following line of code. The if statement forces it to be a positive shift value. Sadly, it's not my code. if (bit_count &lt; 0) { /*+ shift out the extra bits */ * ((UNSIGNED_32 *) extract_value_ptr) &gt;&gt;= (0 - bit_count); }</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bassam Abdul-Baki</dc:creator><pubDate>Thu, 26 Feb 2026 00:47:36 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/eacf80bdea/?limit=250#903b</guid></item><item><title>Yun modified a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#4489</link><description>Thanks for the suggestions. Just to clarify the context: I actually found this crash while fuzzing the harness. Since fuzzing drivers can sometimes produce false positives, I made sure to verify that this specific case is fully reproducible from the main entry point. I did use Claude to help structure and draft the PoC report for better readability ( comments are also polished by AI to improve my English writing ;). The main reason I haven't opened a PR yet is that I wanted to get the crash confirmed...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yun</dc:creator><pubDate>Wed, 25 Feb 2026 15:27:14 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#4489</guid></item><item><title>Yun posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#4489</link><description>Thanks for the suggestions. Just to clarify the context: I actually found this crash while fuzzing the harness. Since fuzzing drivers can sometimes produce false positives, I made sure to verify that this specific case is fully reproducible from the main entry point. I did use Claude to help structure and draft the PoC report for better readability ( comments are also polished by AI to improve my English writing ;). The main reason I haven't opened a PR yet is that I wanted to get the crash confirmed...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yun</dc:creator><pubDate>Wed, 25 Feb 2026 15:13:23 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#4489</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/289cd0fdad/?limit=25#1e9c</link><description>Also note that this is detected by Clang: &lt;source&gt;:4:1: warning: all paths through this function will call itself [-Winfinite-recursion] 4 | { | ^</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:45:33 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/289cd0fdad/?limit=25#1e9c</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/289cd0fdad/?limit=25#d5b4</link><description>What issue do you expect to see? From a quick look it seems this will produce an infinite recursion but that is nothing which was ever reported by Cppcheck.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:44:10 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/289cd0fdad/?limit=25#d5b4</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/8be789bf0b/?limit=25#7ea4</link><description>Thanks for your report. I filed https://trac.cppcheck.net/ticket/14539 about it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:39:49 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/8be789bf0b/?limit=25#7ea4</guid></item><item><title>Oliver Stöneberg modified a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1aea67184e/?limit=25#dcc1</link><description>Yes, that is a known shortcoming. When you use a binary compiled on a Linux system (even WSL) we assume that all files are case sensitive. But that is not dependent on the system but the underlying filesystem. These issues are already tracked in the underlying simplecpp library via https://github.com/danmar/simplecpp/issues/308 and https://github.com/danmar/simplecpp/issues/309.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:35:00 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1aea67184e/?limit=25#dcc1</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1aea67184e/?limit=25#dcc1</link><description>Yesm that is a known shortcoming. When you use a binary compiled on a Linux system (even WSL) we assume that all files are case sensitive. But that is not dependent on the system but the underlying filesystem. These issues are already tracked in the underlying simplecpp library via https://github.com/danmar/simplecpp/issues/308 and https://github.com/danmar/simplecpp/issues/309.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:34:46 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1aea67184e/?limit=25#dcc1</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/f81c65b2cd/?limit=25#8f9e</link><description>Thanks for your report. --include-file does not exist so I assume you meant --include=&lt;file&gt;. I filed https://trac.cppcheck.net/ticket/14538 about this.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:30:29 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/f81c65b2cd/?limit=25#8f9e</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/78a9a065b9/?limit=25#dcdc</link><description>Thanks for your report. I filed https://trac.cppcheck.net/ticket/14537 about supporting this.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:27:32 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/78a9a065b9/?limit=25#dcdc</guid></item><item><title>Oliver Stöneberg posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#9c8b</link><description>Probably because the used AI agent doesn't support creating PRs yet...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:09:49 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#9c8b</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/6847dd6a16/?limit=25#d19c</link><description>This is a known issue already tracked in https://trac.cppcheck.net/ticket/13942.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:07:50 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/6847dd6a16/?limit=25#d19c</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/0befd8b25f/?limit=25#0ea8</link><description>We do not do anything with the rpath so it looks like a packaging issues that needs to be reported upstream.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:06:00 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/0befd8b25f/?limit=25#0ea8</guid></item><item><title>Oliver Stöneberg posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f563d18f7/?limit=25#26c3</link><description>Already tracked in https://trac.cppcheck.net/ticket/14091 but the behavior changed. We need to treat this differently. I will file tickets about that soon. A workaround for this is define it yourself -D__GLIBC_USE(x)=(0) for now.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oliver Stöneberg</dc:creator><pubDate>Wed, 25 Feb 2026 14:03:56 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/1f563d18f7/?limit=25#26c3</guid></item><item><title>CHR posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#40c1</link><description>Seems like you have the issue figured out already, why not open a PR at https://github.com/danmar/cppcheck/pulls?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 25 Feb 2026 07:39:32 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#40c1</guid></item><item><title>Yun posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#4231</link><description>Description Two unbounded recursive paths exist with no depth limit: Path 1 — Direct recursion via else if chains At lib/tokenize.cpp:6850-6852: if (tokEndNextNext-&gt;str() == "if") // do not change "else if ..." to "else { if ... }" tokEnd = simplifyAddBracesToCommand(tokEndNextNext); // ← direct self-recursion When simplifyAddBracesToCommand processes an if statement followed by else if, it recurses into itself for the next else if. For a chain of N else if clauses, this produces N stack frames....</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yun</dc:creator><pubDate>Wed, 25 Feb 2026 01:27:02 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/eea4fd963a/?limit=25#4231</guid></item><item><title>john borland modified a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#4942</link><description>As someone who has written simulations for NASA the role cppcheck has always filled for us making sure our simulations are following C++ best practices. I would double check your definitions of what validation means to the FDA. A lot of times I find groups using the words verification and validation interchangeably which is a big mistake. For me verification means does the software meet it's requirements. Validation means does the software do what was actually wanted. A lot of the time I can't tell...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">john borland</dc:creator><pubDate>Sat, 21 Feb 2026 22:19:58 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#4942</guid></item><item><title>john borland modified a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#4942</link><description>As someone who has written simulations for NASA the role cppcheck has always filled for us making sure our simulations are following C++ best practices. I would double check your definitions of what validation means to the FDA. A lot of times I find groups using the words verification and validation interchangeably which is a big mistake. For me verification means does the software meet it's requirements. Validation means does the software do what was actually wanted. A lot of the time I can't tell...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">john borland</dc:creator><pubDate>Sat, 21 Feb 2026 21:47:17 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#4942</guid></item><item><title>john borland posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#4942</link><description>As someone who has written simulations for NASA the role cppcheck has always filled for us making sure our simulations are following C++ best practices. I would double check your definitions of what validation means to the FDA. A lot of times I find groups using the words verification and validation interchangeably which is a big mistake. For me verification means does the software meet it's requirements. Validation means does the software do what was actually wanted. A lot of the time I can't tell...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">john borland</dc:creator><pubDate>Sat, 21 Feb 2026 21:41:14 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#4942</guid></item><item><title>Prarthana B S posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#da14</link><description>Hi , I am planning to use Cppcheck as the static analysis tool for C++ code in our project. Since our product will be going through FDA certification, one of the key requirements is that any software tool used in the development process must be validated. Before proceeding further, I wanted to check if validation support or documentation for Cppcheck is available. Specifically: Does Cppcheck provide any formal tool validation package or certification artifacts? Is there any existing guidance or support...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Prarthana B S</dc:creator><pubDate>Fri, 20 Feb 2026 09:47:54 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/2cf9dcdc82/?limit=25#da14</guid></item><item><title>at992 posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/7506e3303d/?limit=25#e8c4</link><description>Neat, thank you!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">at992</dc:creator><pubDate>Fri, 13 Feb 2026 20:16:53 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/7506e3303d/?limit=25#e8c4</guid></item><item><title>CHR posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/0e29678e4d/?limit=25#1851</link><description>If ptr is NULL in main(), the while loop is not entered, and the pointer will be dereferenced. So the warning seems correct to me.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Fri, 13 Feb 2026 12:39:23 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/0e29678e4d/?limit=25#1851</guid></item><item><title>CHR posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/7506e3303d/?limit=25#f448</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14487</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Fri, 13 Feb 2026 07:25:57 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/7506e3303d/?limit=25#f448</guid></item><item><title>at992 posted a comment on discussion General Discussion</title><link>https://sourceforge.net/p/cppcheck/discussion/general/thread/7506e3303d/?limit=25#e1a1</link><description>Simple reproduction: // cppcheck --enable=style --inconclusive a.c #define dbgMsg(msg,...) int main(int argc, char** argv) { if (1 == argc) { dbgMsg("No arguments.\n"); } else { dbgMsg("First argument is %s.\n", argv[1]); } return 0; } Deleting both of the calls to the dbgMsg macro silences the error. That is: two identical empty branches don't report a duplicateBranch error, but two branches that behave as empty after passing through the pre-processor do report that error. (In the real code, dbgMsg()...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">at992</dc:creator><pubDate>Thu, 12 Feb 2026 23:07:58 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/general/thread/7506e3303d/?limit=25#e1a1</guid></item><item><title>Gleb Plekhotko posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/0e29678e4d/?limit=25#e6dc</link><description>Hello to community! I'm not sure this particular case worth to be included into the cppcheck, but still reporting it. Here is the simplified peace of code: int *ptr; int main(void) { if (ptr != NULL) { while (1); } printf("%d", *ptr); } For this case, cppcheck reports the nullPointerRedundantCheck id, considering, as far as I understand, that there is a chance to dereference the null pointer. Though it is impossible, as the program gets stuck in the eternal while loop. This is not a typical scenario...</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gleb Plekhotko</dc:creator><pubDate>Wed, 11 Feb 2026 21:05:07 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/0e29678e4d/?limit=25#e6dc</guid></item><item><title>CHR posted a comment on discussion Development</title><link>https://sourceforge.net/p/cppcheck/discussion/development/thread/041d4a039b/?limit=25#afcd</link><description>Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/14477</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">CHR</dc:creator><pubDate>Wed, 11 Feb 2026 07:33:10 -0000</pubDate><guid>https://sourceforge.net/p/cppcheck/discussion/development/thread/041d4a039b/?limit=25#afcd</guid></item></channel></rss>