From a89fcb6bcc715715a79077a6457ac16f6737256dcda830a6a6a039e29b3697c0 Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Mon, 10 May 2021 10:52:49 +0000 Subject: [PATCH] Accepting request 892004 from home:coolo:branches:openSUSE:Factory - add fix-i586.patch to fix compilation on i586, where the test case tests the wrong IntRange OBS-URL: https://build.opensuse.org/request/show/892004 OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=77 --- cppcheck.changes | 6 ++++++ cppcheck.spec | 3 ++- fix-i586.patch | 22 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 fix-i586.patch diff --git a/cppcheck.changes b/cppcheck.changes index 49d8138..6b415b6 100644 --- a/cppcheck.changes +++ b/cppcheck.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon May 10 06:49:08 UTC 2021 - Stephan Kulow + +- add fix-i586.patch to fix compilation on i586, where the test + case tests the wrong IntRange + ------------------------------------------------------------------- Wed Mar 24 08:12:09 UTC 2021 - Dirk Müller diff --git a/cppcheck.spec b/cppcheck.spec index c3cea2b..33239cb 100644 --- a/cppcheck.spec +++ b/cppcheck.spec @@ -23,6 +23,7 @@ Summary: A tool for static C/C++ code analysis License: GPL-3.0-or-later URL: https://github.com/danmar/cppcheck Source: https://github.com/danmar/cppcheck/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: fix-i586.patch BuildRequires: cmake BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc-c++ @@ -70,7 +71,7 @@ This is the gui for Cppcheck, a program to detect bugs that your C/C++ compiler doesn't see. %prep -%autosetup +%autosetup -p1 %build %cmake \ diff --git a/fix-i586.patch b/fix-i586.patch new file mode 100644 index 0000000..b9fde45 --- /dev/null +++ b/fix-i586.patch @@ -0,0 +1,22 @@ +Index: cppcheck-2.4.1/test/testexprengine.cpp +=================================================================== +--- cppcheck-2.4.1.orig/test/testexprengine.cpp ++++ cppcheck-2.4.1/test/testexprengine.cpp +@@ -811,12 +811,17 @@ private: + " *x = 2;\n" + " *x = 1;\n" + "}"; ++#if INTPTR_MAX == INT64_MAX ++ // for 32bit the situation is more complex, armv7l has ffffffff, ++ // i586 has hfffffffflffffffff - so better not test this in those ++ // situations + ASSERT_EQUALS("1:28: $2=ArrayValue([$1],[:]=?,null)\n" + "1:28: $1=IntRange(1:ffffffffffffffff)\n" + "1:28: 0:memory:{x=($2,[$1],[:]=?)}\n" + "2:9: 0:memory:{x=($2,[$1],[:]=?,[0]=2)}\n" + "3:9: 0:memory:{x=($2,[$1],[:]=?,[0]=1)}\n", + trackExecution(code)); ++#endif + } + + void arrayInit1() {