From 74717428cf4d7dd5c04b0a97e090d0b0b194d11e8e53a542efd3c1eca0342c41 Mon Sep 17 00:00:00 2001 From: OBS User mrdocs Date: Mon, 19 Feb 2018 03:33:22 +0000 Subject: [PATCH] Accepting request 577725 from home:alois:branches:devel:tools - Update to version 1.82 Bug fixes: * Better handling of namespaces * Fixed false positives * Fixed parsing of compile databases * Fixed parsing of visual studio projects Enhancements * New check; Detect mistakes when there are multiple strcmp() in condition Example: if (strcmp(password,"A")==0 || strcmp(password,"B")==0 || strcmp(password,"C")) There is a missing '==0', and therefore this condition is always true except when password is "C". * New check; pointer calculation result can't be NULL unless there is overflow Example: someType **list_p = ...; if ((list_p + 1) == NULL) The result for '(list_p + 1)' can't be NULL unless there is overflow (UB). * New check; public interface of classes should be safe - detect possible division by zero Example: class Fred { public: void setValue(int mul, int div) { value = mul / div; // <- unsafe } ... This check does not consider how Fred::setValue() is really called. If you agree that the public interface of classes should always be safe; it should be allowed to call all public methods with arbitrary arguments, then this checker will be useful. * Fixed a few false negatives * More information in the cfg files version 1.81 CPPCHECK: * New warning: Check if condition after an early return is overlapping and therefore always false. * Improved knowledge about C/C++ standard, windows, posix, wxwidgets, gnu * Better handling of Visual Studio projects GUI: * Compile: Qt5 is now needed to build the GUI * Compile: New qmake flag HAVE_QCHART * Project: You can now run cppcheck-addons * Project: We have integrated clang-tidy * Results view: Reload last results (if cppcheck build dir is used) when GUI is started * Results view: Tag the warnings with custom keywords (bug/todo/not important/etc..) * Results view: Shows when warning first appeared (since date) * Results view: Suppress warnings through right-click menu * Statistics: Added charts (shown if Qt charts module is enabled during build) version 1.80 Checking improvements: * Added platform for Atmel AVR 8 bit microcontrollers (avr8) * Better 'callstacks' in cppcheck messages * Improved gnu.cfg, posix.cfg, wxwidgets.cfg and std.cfg, added motif.cfg * Various improvements to AST, ValueFlow analysis and template parsing Command line changes: * Deprecated command line argument *-append has been removed * New command line argument *-plist-output to create .plist files * New command line argument *-output-file to print output to file directly * Check OpenCL files (.cl) GUI: * Support export of statistics to PDF * Several small usability improvements * Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved. version 1.79 General changes: * C++ code in C files is rejected now (use *-language=c++ to enforce checking the code as C++) * Write function access type to XML dump Checking improvements: * Improved configuration extraction in preprocessor * Improved accuracy of AST * Improved template parsing * Improved support for (STL) containers in SymbolDatabase * Improved support for C++11's 'auto' type * Experimental support for uninitialized variables in ValueFlow analysis * Added qt.cfg and sfml.cfg, improved several existing .cfg files GUI: * Use CFGDIR macro * Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved. version 1.78 General changes: * Reduced memory usage by up to 10% by reducing size of token list New checks: * Mismatching argument names between function declaration and definition * Detect classes which have a copy constructor but no copy operator and vice versa Checking improvements: * Improved matching of overloaded functions * Improved ValueType analysis, especially related to allocations with "new" and C++11's "auto" * Improved support for C++11 brace initialization * Improved ValueFlow analysis * Improved template parsing * Improved detection of memory leaks * Improved nullpointer checking when nullptr and NULL are used * Detect array out of bounds across compilation units * Extended windows.cfg, posix.cfg and std.cfg * Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved. OBS-URL: https://build.opensuse.org/request/show/577725 OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=51 --- cppcheck-1.77.tar.bz2 | 3 - cppcheck-1.82.tar.bz2 | 3 + cppcheck.changes | 128 ++++++++++++++++++++++++++++++++++++++++++ cppcheck.spec | 13 ++--- 4 files changed, 137 insertions(+), 10 deletions(-) delete mode 100644 cppcheck-1.77.tar.bz2 create mode 100644 cppcheck-1.82.tar.bz2 diff --git a/cppcheck-1.77.tar.bz2 b/cppcheck-1.77.tar.bz2 deleted file mode 100644 index c0890b9..0000000 --- a/cppcheck-1.77.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1980ffe5c9c24bb6dea24514d42be3aa49d6ba7cc26c448b3543611fe8ba2619 -size 1188453 diff --git a/cppcheck-1.82.tar.bz2 b/cppcheck-1.82.tar.bz2 new file mode 100644 index 0000000..21e223e --- /dev/null +++ b/cppcheck-1.82.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e02b29d18eaa38bed19e80dcf59b06d450d5e20c30732d6bad64af9ea58d694e +size 1548635 diff --git a/cppcheck.changes b/cppcheck.changes index 27bde5d..b98bc24 100644 --- a/cppcheck.changes +++ b/cppcheck.changes @@ -1,3 +1,131 @@ +------------------------------------------------------------------- +Sun Feb 18 10:40:07 UTC 2018 - aloisio@gmx.com + +- Update to version 1.82 + Bug fixes: + * Better handling of namespaces + * Fixed false positives + * Fixed parsing of compile databases + * Fixed parsing of visual studio projects + Enhancements + * New check; Detect mistakes when there are multiple strcmp() in + condition + Example: + if (strcmp(password,"A")==0 || strcmp(password,"B")==0 || strcmp(password,"C")) + There is a missing '==0', and therefore this condition is + always true except when password is "C". + * New check; pointer calculation result can't be NULL unless + there is overflow + Example: + someType **list_p = ...; + if ((list_p + 1) == NULL) + The result for '(list_p + 1)' can't be NULL unless there is + overflow (UB). + * New check; public interface of classes should be safe - detect + possible division by zero + Example: + class Fred { + public: + void setValue(int mul, int div) { + value = mul / div; // <- unsafe + } + ... + This check does not consider how Fred::setValue() is really + called. + If you agree that the public interface of classes should + always be safe; it should be allowed to call all public + methods with arbitrary arguments, then this checker will be + useful. + * Fixed a few false negatives + * More information in the cfg files + + version 1.81 + CPPCHECK: + * New warning: Check if condition after an early return is + overlapping and therefore always false. + * Improved knowledge about C/C++ standard, windows, posix, + wxwidgets, gnu + * Better handling of Visual Studio projects + GUI: + * Compile: Qt5 is now needed to build the GUI + * Compile: New qmake flag HAVE_QCHART + * Project: You can now run cppcheck-addons + * Project: We have integrated clang-tidy + * Results view: Reload last results (if cppcheck build dir is + used) when GUI is started + * Results view: Tag the warnings with custom keywords + (bug/todo/not important/etc..) + * Results view: Shows when warning first appeared (since date) + * Results view: Suppress warnings through right-click menu + * Statistics: Added charts (shown if Qt charts module is enabled + during build) + + version 1.80 + Checking improvements: + * Added platform for Atmel AVR 8 bit microcontrollers (avr8) + * Better 'callstacks' in cppcheck messages + * Improved gnu.cfg, posix.cfg, wxwidgets.cfg and std.cfg, added + motif.cfg + * Various improvements to AST, ValueFlow analysis and template + parsing + Command line changes: + * Deprecated command line argument *-append has been removed + * New command line argument *-plist-output to create .plist + files + * New command line argument *-output-file to print output to + file directly + * Check OpenCL files (.cl) + GUI: + * Support export of statistics to PDF + * Several small usability improvements + + * Additionally, lots of false positives and bugs have been fixed + and several existing checks have been improved. + + version 1.79 + General changes: + * C++ code in C files is rejected now (use *-language=c++ to + enforce checking the code as C++) + * Write function access type to XML dump + Checking improvements: + * Improved configuration extraction in preprocessor + * Improved accuracy of AST + * Improved template parsing + * Improved support for (STL) containers in SymbolDatabase + * Improved support for C++11's 'auto' type + * Experimental support for uninitialized variables in ValueFlow + analysis + * Added qt.cfg and sfml.cfg, improved several existing .cfg files + GUI: + * Use CFGDIR macro + + * Additionally, lots of false positives and bugs have been fixed + and several existing checks have been improved. + + version 1.78 + General changes: + * Reduced memory usage by up to 10% by reducing size of token + list + New checks: + * Mismatching argument names between function declaration and + definition + * Detect classes which have a copy constructor but no copy + operator and vice versa + Checking improvements: + * Improved matching of overloaded functions + * Improved ValueType analysis, especially related to allocations + with "new" and C++11's "auto" + * Improved support for C++11 brace initialization + * Improved ValueFlow analysis + * Improved template parsing + * Improved detection of memory leaks + * Improved nullpointer checking when nullptr and NULL are used + * Detect array out of bounds across compilation units + * Extended windows.cfg, posix.cfg and std.cfg + + * Additionally, lots of false positives and bugs have been fixed + and several existing checks have been improved. + ------------------------------------------------------------------- Tue Mar 21 10:28:21 UTC 2017 - mpluskal@suse.com diff --git a/cppcheck.spec b/cppcheck.spec index e9c12e3..fa61dcd 100644 --- a/cppcheck.spec +++ b/cppcheck.spec @@ -1,7 +1,7 @@ # # spec file for package cppcheck # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: cppcheck -Version: 1.77 +Version: 1.82 Release: 0 Summary: A tool for static C/C++ code analysis License: GPL-3.0+ Group: Development/Languages/C and C++ -Url: http://cppcheck.sourceforge.net/ -Source: http://downloads.sourceforge.net/cppcheck/cppcheck-%{version}.tar.bz2 +URL: http://cppcheck.sourceforge.net/ +Source: https://downloads.sourceforge.net/cppcheck/cppcheck-%{version}.tar.bz2 BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc-c++ BuildRequires: pcre-devel @@ -103,15 +103,14 @@ install -d %{buildroot}%{_datadir}/%{name} install -m 0644 cfg/*.cfg %{buildroot}%{_datadir}/%{name} %files -%defattr(-,root,root) -%doc AUTHORS COPYING +%doc AUTHORS +%license COPYING %{_bindir}/cppcheck %{_bindir}/cppcheck-htmlreport %{_datadir}/%{name}/ %{_mandir}/man1/cppcheck.1* %files gui -%defattr(-,root,root) %{_bindir}/cppcheck-gui %changelog