commit:     68f0e9969e5761d580346c0788186dcf471e5a0c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 15 04:34:19 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 04:34:19 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68f0e996

dev-util/cppcheck: backport 32-bit test(-only) fix

Bug: https://bugs.gentoo.org/935368
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/cppcheck/cppcheck-2.13.0.ebuild           |  4 ++++
 .../files/cppcheck-2.13.0-32-bit-tests.patch       | 28 ++++++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/dev-util/cppcheck/cppcheck-2.13.0.ebuild 
b/dev-util/cppcheck/cppcheck-2.13.0.ebuild
index 71c678e92cc5..949840795040 100644
--- a/dev-util/cppcheck/cppcheck-2.13.0.ebuild
+++ b/dev-util/cppcheck/cppcheck-2.13.0.ebuild
@@ -75,6 +75,10 @@ BDEPEND="
        )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.13.0-32-bit-tests.patch
+)
+
 src_prepare() {
        cmake_src_prepare
 

diff --git a/dev-util/cppcheck/files/cppcheck-2.13.0-32-bit-tests.patch 
b/dev-util/cppcheck/files/cppcheck-2.13.0-32-bit-tests.patch
new file mode 100644
index 000000000000..a31a014f5968
--- /dev/null
+++ b/dev-util/cppcheck/files/cppcheck-2.13.0-32-bit-tests.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/935368
+https://github.com/danmar/cppcheck/commit/9118d330d387e73a20e1bc46c65387306afa0895
+
+From 9118d330d387e73a20e1bc46c65387306afa0895 Mon Sep 17 00:00:00 2001
+From: chrchr-github <78114321+chrchr-git...@users.noreply.github.com>
+Date: Sat, 23 Dec 2023 20:59:59 +0100
+Subject: [PATCH] Fix test failure on 32bit platform (#5803)
+
+--- a/test/testother.cpp
++++ b/test/testother.cpp
+@@ -2173,6 +2173,7 @@ class TestOther : public TestFixture {
+               "}\n");
+         ASSERT_EQUALS("[test.cpp:1]: (performance) Function parameter 't' 
should be passed by const reference.\n", errout.str());
+ 
++        Settings settings0 = 
settingsBuilder(_settings).platform(Platform::Type::Unix64).build();
+         check("struct S {\n" // #12138
+               "    union {\n"
+               "        int a = 0;\n"
+@@ -2189,7 +2190,7 @@ class TestOther : public TestFixture {
+               "};\n"
+               "void f(S s) {\n"
+               "    if (s.x > s.y) {}\n"
+-              "}\n");
++              "}\n", /*filename*/ nullptr, /*inconclusive*/ true, 
/*runSimpleChecks*/ true, /*verbose*/ false, &settings0);
+         ASSERT_EQUALS("", errout.str());
+ 
+         check("struct S { std::list<int> l; };\n" // #12147
+

Reply via email to