Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cppcheck for openSUSE:Factory checked in at 2024-12-02 16:59:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cppcheck (Old) and /work/SRC/openSUSE:Factory/.cppcheck.new.28523 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cppcheck" Mon Dec 2 16:59:08 2024 rev:47 rq:1227644 version:2.16.1 Changes: -------- --- /work/SRC/openSUSE:Factory/cppcheck/cppcheck.changes 2024-10-30 17:38:33.030597586 +0100 +++ /work/SRC/openSUSE:Factory/.cppcheck.new.28523/cppcheck.changes 2024-12-02 16:59:30.262132655 +0100 @@ -1,0 +2,6 @@ +Sun Dec 1 21:03:58 UTC 2024 - Christoph G <f...@grueninger.de> + +- update to 2.16.1 + * SymbolDatabase: does not select l-value method properly + +------------------------------------------------------------------- Old: ---- cppcheck-2.16.0.tar.gz New: ---- cppcheck-2.16.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cppcheck.spec ++++++ --- /var/tmp/diff_new_pack.WC5v5N/_old 2024-12-02 16:59:30.822156152 +0100 +++ /var/tmp/diff_new_pack.WC5v5N/_new 2024-12-02 16:59:30.826156320 +0100 @@ -17,7 +17,7 @@ Name: cppcheck -Version: 2.16.0 +Version: 2.16.1 Release: 0 Summary: A tool for static C/C++ code analysis License: GPL-3.0-or-later ++++++ cppcheck-2.16.0.tar.gz -> cppcheck-2.16.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/CMakeLists.txt new/cppcheck-2.16.1/CMakeLists.txt --- old/cppcheck-2.16.0/CMakeLists.txt 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/CMakeLists.txt 2024-11-28 14:49:29.000000000 +0100 @@ -2,7 +2,7 @@ if(MSVC) cmake_minimum_required(VERSION 3.13) endif() -project(Cppcheck VERSION 2.16.0 LANGUAGES CXX) +project(Cppcheck VERSION 2.16.1 LANGUAGES CXX) include(cmake/cxx11.cmake) use_cxx11() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/cli/main.cpp new/cppcheck-2.16.1/cli/main.cpp --- old/cppcheck-2.16.0/cli/main.cpp 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/cli/main.cpp 2024-11-28 14:49:29.000000000 +0100 @@ -20,7 +20,7 @@ /** * * @mainpage Cppcheck - * @version 2.16.0 + * @version 2.16.1 * * @section overview_sec Overview * Cppcheck is a simple tool for static analysis of C/C++ code. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/gui/CMakeLists.txt new/cppcheck-2.16.1/gui/CMakeLists.txt --- old/cppcheck-2.16.0/gui/CMakeLists.txt 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/gui/CMakeLists.txt 2024-11-28 14:49:29.000000000 +0100 @@ -32,6 +32,9 @@ list(APPEND cppcheck-gui_SOURCES $<TARGET_OBJECTS:tinyxml2_objs>) endif() endif() + if (WIN32) + list(APPEND cppcheck-gui_SOURCES cppcheck-gui.rc) + endif() add_executable(cppcheck-gui ${cppcheck-gui-deps} ${cppcheck-gui_SOURCES}) set_target_properties(cppcheck-gui PROPERTIES AUTOMOC ON) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/lib/symboldatabase.cpp new/cppcheck-2.16.1/lib/symboldatabase.cpp --- old/cppcheck-2.16.0/lib/symboldatabase.cpp 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/lib/symboldatabase.cpp 2024-11-28 14:49:29.000000000 +0100 @@ -5716,6 +5716,17 @@ const Function *func = it->second; if (ref == Reference::LValue && func->hasRvalRefQualifier()) continue; + if (ref == Reference::None && func->hasRvalRefQualifier()) { + if (Token::simpleMatch(tok->astParent(), ".")) { + const Token* obj = tok->astParent()->astOperand1(); + while (obj && obj->str() == "[") + obj = obj->astOperand1(); + if (!obj || obj->isName()) + continue; + } + } + if (func->isDestructor() && !Token::simpleMatch(tok->tokAt(-1), "~")) + continue; if (!isCall || args == func->argCount() || (func->isVariadic() && args >= (func->minArgCount() - 1)) || (args < func->argCount() && args >= func->minArgCount())) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/lib/version.h new/cppcheck-2.16.1/lib/version.h --- old/cppcheck-2.16.0/lib/version.h 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/lib/version.h 2024-11-28 14:49:29.000000000 +0100 @@ -25,7 +25,7 @@ #define CPPCHECK_MAJOR_VERSION 2 #define CPPCHECK_MINOR_VERSION 16 #define CPPCHECK_DEVMINOR_VERSION 16 -#define CPPCHECK_BUGFIX_VERSION 0 +#define CPPCHECK_BUGFIX_VERSION 1 #define STRINGIFY(x) STRING(x) #define STRING(VER) #VER diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/man/manual.md new/cppcheck-2.16.1/man/manual.md --- old/cppcheck-2.16.0/man/manual.md 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/man/manual.md 2024-11-28 14:49:29.000000000 +0100 @@ -1,6 +1,6 @@ --- title: Cppcheck manual -subtitle: Version 2.16.0 +subtitle: Version 2.16.1 author: Cppcheck team lang: en documentclass: report diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/man/reference-cfg-format.md new/cppcheck-2.16.1/man/reference-cfg-format.md --- old/cppcheck-2.16.0/man/reference-cfg-format.md 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/man/reference-cfg-format.md 2024-11-28 14:49:29.000000000 +0100 @@ -1,6 +1,6 @@ --- title: Cppcheck .cfg format -subtitle: Version 2.16.0 +subtitle: Version 2.16.1 author: Cppcheck team lang: en documentclass: report diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/man/writing-addons.md new/cppcheck-2.16.1/man/writing-addons.md --- old/cppcheck-2.16.0/man/writing-addons.md 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/man/writing-addons.md 2024-11-28 14:49:29.000000000 +0100 @@ -1,6 +1,6 @@ --- title: Writing addons -subtitle: Version 2.16.0 +subtitle: Version 2.16.1 author: Cppcheck team lang: en documentclass: report diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/test/testsymboldatabase.cpp new/cppcheck-2.16.1/test/testsymboldatabase.cpp --- old/cppcheck-2.16.0/test/testsymboldatabase.cpp 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/test/testsymboldatabase.cpp 2024-11-28 14:49:29.000000000 +0100 @@ -521,6 +521,7 @@ TEST_CASE(findFunction55); // #13004 TEST_CASE(findFunction56); TEST_CASE(findFunctionRef1); + TEST_CASE(findFunctionRef2); // #13328 TEST_CASE(findFunctionContainer); TEST_CASE(findFunctionExternC); TEST_CASE(findFunctionGlobalScope); // ::foo @@ -8363,6 +8364,25 @@ ASSERT(x); const Token* f = x->tokAt(2); ASSERT(f); + ASSERT(f->function()); + ASSERT(f->function()->tokenDef); + ASSERT_EQUALS(2, f->function()->tokenDef->linenr()); + } + + void findFunctionRef2() { + GET_SYMBOL_DB("struct X {\n" + " const int& foo() const &;\n" // <- this function is called + " int foo() &&;\n" + "}\n" + "\n" + "void foo() {\n" + " X x;\n" + " x.foo();\n" + "}\n"); + const Token* x = Token::findsimplematch(tokenizer.tokens(), "x . foo ( ) ;"); + ASSERT(x); + const Token* f = x->tokAt(2); + ASSERT(f); ASSERT(f->function()); ASSERT(f->function()->tokenDef); ASSERT_EQUALS(2, f->function()->tokenDef->linenr()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cppcheck-2.16.0/win_installer/productInfo.wxi new/cppcheck-2.16.1/win_installer/productInfo.wxi --- old/cppcheck-2.16.0/win_installer/productInfo.wxi 2024-10-27 16:13:49.000000000 +0100 +++ new/cppcheck-2.16.1/win_installer/productInfo.wxi 2024-11-28 14:49:29.000000000 +0100 @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <Include> - <?define ProductName = "Cppcheck $(var.Platform) 2.16.0" ?> + <?define ProductName = "Cppcheck $(var.Platform) 2.16.1" ?> <?define ProductNameShort = "Cppcheck" ?> - <?define ProductVersion = "2.16.0" ?> + <?define ProductVersion = "2.16.1" ?> <?define ProductManufacturer = "The Cppcheck team" ?> <?define ProductDescription = "Cppcheck is a tool for static analysis of C/C++ code" ?>