From 67d287b1e4e8491e83f9f39aa3d2ea19f21400a9 Mon Sep 17 00:00:00 2001 From: Jussi Lehtola Date: Aug 19 2011 07:21:12 +0000 Subject: Update to 1.50. --- diff --git a/cppcheck-1.50-preprocessor.patch b/cppcheck-1.50-preprocessor.patch new file mode 100644 index 0000000..c993c0d --- /dev/null +++ b/cppcheck-1.50-preprocessor.patch @@ -0,0 +1,43 @@ +diff -up cppcheck-1.50/lib/preprocessor.cpp.orig cppcheck-1.50/lib/preprocessor.cpp +--- cppcheck-1.50/lib/preprocessor.cpp.orig 2011-08-14 10:45:53.000000000 +0300 ++++ cppcheck-1.50/lib/preprocessor.cpp 2011-08-19 10:17:20.240800771 +0300 +@@ -1716,8 +1716,10 @@ std::string Preprocessor::getcode(const + continue; + } + +- std::string def = getdef(line, true); +- std::string ndef = getdef(line, false); ++ const std::string def = getdef(line, true); ++ const std::string ndef = getdef(line, false); ++ ++ const bool emptymatch = matching_ifdef.empty() | matched_ifdef.empty(); + + if (line.compare(0, 8, "#define ") == 0) + { +@@ -1742,7 +1744,7 @@ std::string Preprocessor::getcode(const + } + } + +- else if (line.compare(0, 7, "#elif !") == 0) ++ else if (!emptymatch && line.compare(0, 7, "#elif !") == 0) + { + if (matched_ifdef.back()) + { +@@ -1758,7 +1760,7 @@ std::string Preprocessor::getcode(const + } + } + +- else if (line.compare(0, 6, "#elif ") == 0) ++ else if (!emptymatch && line.compare(0, 6, "#elif ") == 0) + { + if (matched_ifdef.back()) + { +@@ -1786,7 +1788,7 @@ std::string Preprocessor::getcode(const + matched_ifdef.push_back(matching_ifdef.back()); + } + +- else if (line == "#else") ++ else if (!emptymatch && line == "#else") + { + if (! matched_ifdef.empty()) + matching_ifdef.back() = ! matched_ifdef.back(); diff --git a/cppcheck.spec b/cppcheck.spec index d8dde37..c9f6b28 100644 --- a/cppcheck.spec +++ b/cppcheck.spec @@ -6,6 +6,8 @@ Group: Development/Languages License: GPLv3+ URL: http://cppcheck.wiki.sourceforge.net/ Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +# Fix BZ #730580 +Patch0: cppcheck-1.50-preprocessor.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: pcre-devel @@ -24,6 +26,7 @@ various compiler extensions, inline assembly code, etc. %prep %setup -q +%patch0 -p1 # Make sure bundled tinyxml is not used rm -r externals/tinyxml