SHA256
1
0
forked from pool/cppcheck

Accepting request 577906 from devel:tools

OBS-URL: https://build.opensuse.org/request/show/577906
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cppcheck?expand=0&rev=5
This commit is contained in:
Dominique Leuenberger 2018-02-19 12:03:29 +00:00 committed by Git OBS Bridge
commit 217bcf0fbb
4 changed files with 137 additions and 10 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1980ffe5c9c24bb6dea24514d42be3aa49d6ba7cc26c448b3543611fe8ba2619
size 1188453

3
cppcheck-1.82.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e02b29d18eaa38bed19e80dcf59b06d450d5e20c30732d6bad64af9ea58d694e
size 1548635

View File

@ -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

View File

@ -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