Georgy Komarov
c46e44e39e
misra.py: R14.2: Verify for loop counter modification ( #2409 )
...
* misra.py: R14.2: Verify for counter modification
Add additional check to detect modification of loop counter in loop
body. Related issue: https://trac.cppcheck.net/ticket/9490
Add small fix that treat all assignment operators defined in N1750
6.5.16 as has side affects. This will affects rules 13.1, 13.3, 13.5
and allow to catch some false negatives.
* Add tests for fixed FPs for R13.{1,5,6}
* fix
* use isAssignmentOp from cppcheck data
* remove unused set
* handle case with empty body or syntax error
* add test with outer variable
* Fix FP in nested loops, add tests
* Fix FP on outer variables
* Fixup false positives for not loop counters
2019-12-15 18:23:12 +01:00
Georgy Komarov
f87cd9818c
misra.py: Fix false negative for rule 10.1 ( #2449 )
...
This will close Trac 9489.
2019-12-15 18:10:22 +01:00
Daniel Marjamäki
36f369473e
isPointerDeref: Return false for function declarations
2019-12-15 16:36:46 +01:00
Daniel Marjamäki
aee9519d21
testsuite: Add x-flow tests
2019-12-15 13:57:27 +01:00
Daniel Marjamäki
f614d32d6a
Fixed #9519 (Syntax error on valid C++ 'enum {} (a)')
2019-12-15 08:40:04 +01:00
Daniel Marjamäki
bcfc5924fa
Fixed #9532 (False positive: Out of bounds access in expression 'v[0]' because 'v' is empty.)
2019-12-14 19:04:19 +01:00
Daniel Marjamäki
5e07528af5
Fixed #9505 (MISRA 20.7 check suggests code change that leads to invalid code)
2019-12-14 16:31:41 +01:00
Daniel Marjamäki
267bdc0f5f
Manual: -i and --project
2019-12-14 13:05:05 +01:00
Paul Fultz II
06752d75a5
Fix issue 9485: knownConditionTrueFalse false positive with integer constants ( #2447 )
...
* Fix issue 9485: knownConditionTrueFalse false positive with integer constants
* Formatting
2019-12-14 09:15:00 +01:00
orbitcowboy
538679a47e
wxwidgets.cfg: Added support for more interfaces.
2019-12-13 14:44:57 +01:00
orbitcowboy
9da0f6116a
wxwidgets.cfg: Added support for more interfaces.
2019-12-13 14:41:18 +01:00
orbitcowboy
537830cfc7
wxwidgets.cfg: Added support for more interfaces.
2019-12-13 14:37:28 +01:00
orbitcowboy
6fa42d6a9d
wxwidgets.cfg: Added support for more interfaces.
2019-12-13 14:33:45 +01:00
orbitcowboy
f6a5efa9eb
wxwidgets.cfg: Added support for more interfaces.
2019-12-13 14:28:33 +01:00
orbitcowboy
48f594c938
wxwidgets.cfg: Added support for more interfaces.
2019-12-13 13:56:22 +01:00
IOBYTE
0e4efea530
fix #9539 (Syntax error for valid C++14 code) ( #2446 )
2019-12-12 20:50:20 +01:00
Rikard Falkeborn
eb6203cee3
test-my-pr: Allow work_path to be relative ( #2444 )
...
Previously, calling test-my-pr with a relative work-path resulted in a
crash when trying to create the result file (due to the change of
current working directory).
2019-12-12 16:43:40 +01:00
Rikard Falkeborn
3ff4d83e6d
donate_cpu_lib: Fix python 3 crash if fail to get package ( #2445 )
...
* donate_cpu_lib: Fix python 3 crash if fail to get package
Decoding a string is not allowed in python 3 (in python 2 it works).
If fetching the package fails, assign an empty byte string instead to
avoid crashing.
* Initialize package instead
2019-12-12 15:04:25 +01:00
RobkeBaer
370196a14c
Fix extern c typedef syntax error ( #2438 )
...
* Fix extern c typedef syntax error
* Fix extraWhiteSpaceError
* Move test from testgarbage to testtokenize
2019-12-12 13:51:14 +01:00
orbitcowboy
965784dd19
wxwidgets.cfg: Removed not needed '<use-reval/>'-tags.
2019-12-12 11:22:12 +01:00
orbitcowboy
ec4fe0683f
wxwidgets.cfg: Validate first arg of wxString::Right() and wxString::Left().
2019-12-12 10:16:21 +01:00
Dmitry-Me
064795a705
Remove duplicate test
...
This partially reverts commit 047418dda1
2019-12-11 19:17:59 +03:00
orbitcowboy
b0b8b2608a
wxwidgets.cfg: Added support for more interfaces
2019-12-11 15:06:50 +01:00
orbitcowboy
f89adef1c1
Running astyle [ci skip]
2019-12-11 15:01:21 +01:00
orbitcowboy
2e8f0b99f0
wxwidgets.cfg: Added support for more interfaces
2019-12-11 15:01:00 +01:00
Sebastian
6f2879a59b
errorlogger.cpp: Handle empty file-name like "*" (unmatchedSuppression) ( #2440 )
...
Using "--suppress=unmatchedSuppression" did not suppress the error-id in
all files, one needed to specify "*" as file-name. This commit also
allows empty file-names to suppress "unmatchedSuppression", not only "*"
or the exact file-name.
The manual uses the following example for suppressions specified in a
file:
// suppress all uninitvar errors in all files
uninitvar
This example suggests that no "*" has to be used to get suppression in
all files. I think that the command line parameter should work in the
same way.
2019-12-11 09:07:18 +01:00
Paul Fultz II
ad2f71338c
Fix issue 9525: Syntax Error: AST broken, 'if' doesn't have two operands inside lambda ( #2433 )
...
* Fix issue 9525: Syntax Error: AST broken, 'if' doesn't have two operands inside lambda
* Fix incorrect matchers
2019-12-10 21:21:07 +01:00
Sebastian
de4d44ae2f
opencv2.cfg: Add initial OpenCV 2.x API Library Configuration ( #2439 )
2019-12-10 19:34:30 +01:00
Francesc Elies
40aefa1ba4
[windows] cannot run test-misra (binary not found) ( #2441 )
...
set PYTHONPATH=addons
python -m pytest addons/test/test-misra.py
2019-12-10 18:32:41 +01:00
Rikard Falkeborn
1c92170179
ValueFlow: Remove unused argument ( #2442 )
2019-12-10 17:48:27 +01:00
Sebastian
95696ead23
Catch preprocessor errors possibly issued during loading files ( #2430 )
...
* Also catch preprocessor errors possibly issued during loading files
Currently only errors that are issued during preprocessing are caught.
* Bump simplecpp, implement suggestions
Use return value checking instead of catching an exception for calling
Preprocessor::loadFiles().
Handle new enum value simplecpp::Output::EXPLICIT_INCLUDE_NOT_FOUND
where the corresponding enum is used in Cppcheck.
* Use "noloc" location if an explicit include can not be opened
2019-12-09 19:16:55 +01:00
Francesc Elies
d538315268
[python] classes are missing __repr__ methods ( #2437 )
...
* [python] classes don't have a __repr__ method
* [python] removes unused import
2019-12-09 19:08:45 +01:00
Francesc Elies
cbd9713006
[cli] help misses `--suppress-xml` description ( #2436 )
2019-12-09 19:01:15 +01:00
orbitcowboy
0507b1a2b6
wxwidgets.cfg: Cleanup from previous commit.
2019-12-09 13:44:23 +01:00
orbitcowboy
7368904afa
wxwidgets.cfg: Added more interfaces.
2019-12-09 13:28:02 +01:00
orbitcowboy
4800f86e55
wxwidgets.cfg: Added support for 'wxFileName::FileExists'
2019-12-09 10:06:34 +01:00
orbitcowboy
4306a176cc
wxwidgets.cfg: Added support for more interfaces.
2019-12-09 09:49:54 +01:00
orbitcowboy
8c4dcc9633
wxwidgets.cfg: Added support for more interfaces.
2019-12-09 09:19:39 +01:00
Paul Fultz II
4aa6385a97
Regression test for 9106: False positive duplicateCondition for struct member ( #2434 )
2019-12-09 06:51:58 +01:00
Daniel Marjamäki
3d3e6f384c
Fix #9505 (MISRA 20.7 check suggests code change that leads to invalid code)
2019-12-08 20:07:52 +01:00
Daniel Marjamäki
61c2c5a5f0
Misra: rule 5.3 is implemented in Cppcheck
2019-12-08 19:06:34 +01:00
Daniel Marjamäki
4a4b6fe39b
MISRA: Remove rule 5.3, Cppcheck core has these warnings
2019-12-08 19:01:51 +01:00
Daniel Marjamäki
55afaebdac
Fixed #9506 (false positive: MISRA 12.4)
2019-12-08 18:52:52 +01:00
amai2012
f5df06a143
Run astyle [ci skip]
2019-12-08 11:22:19 +01:00
Paul Fultz II
ea2916a3e4
Fix issue 9514: Syntax Error: AST broken, 'for' doesn't have two operands. ( #2429 )
...
* Fix issue 9514: Syntax Error: AST broken, 'for' doesn't have two operands.
* Fix typo
2019-12-07 21:16:25 +01:00
Paul Fultz II
56e17fb228
Fix issue 9524: Syntax Error: AST broken, 'if' doesn't have two operands. ( #2432 )
2019-12-07 21:06:45 +01:00
Dmitry-Me
047418dda1
Improve test coverage for redundant bitwise operations
2019-12-06 19:14:03 +03:00
Sebastian
95e0b0d0f9
Fix #9510 : Crash in valueflow.cpp solveExprValues() (division by zero) ( #2420 )
...
`break` if divider `intval` is 0 to avoid division by 0 as suggested by @pfultz2
Trac ticket: https://trac.cppcheck.net/ticket/9510
2019-12-06 08:08:40 +01:00
IOBYTE
f637d97080
Fix 9509 (Syntax error on empty attribute list) ( #2423 )
2019-12-06 05:17:19 +01:00
Paul Fultz II
2978c67e6f
Fix issue 9511: Syntax Error: AST broken, 'if' doesn't have two operands. ( #2428 )
2019-12-06 04:19:46 +01:00