Daniel Marjamäki
63bd29d644
addons/cppcheckdata.py: Add 'cppcheckdata.getArguments' function
2019-06-23 13:54:33 +02:00
Daniel Marjamäki
1b4485a738
Makefile: Add one more flag 'MATCHCOMPILER=yes'
2019-06-23 13:43:09 +02:00
IOBYTE
46b543ba27
template simplifier: stop running passes when nothing was simplified. ( #1914 )
2019-06-23 10:55:09 +02:00
Daniel Marjamäki
175070ca50
Revert "Fixed #8938 (FP identicalInnerCondition)"
...
This reverts commit 0edf0b5628
.
This bailout seems to cause many false negatives
2019-06-22 21:57:19 +02:00
Daniel Marjamäki
de9c999d79
Better handling of spaces in paths
2019-06-22 19:20:15 +02:00
Daniel Marjamäki
7ceb51a952
Try to improve 'clarifyStatement' warning message
2019-06-22 08:44:41 +02:00
Daniel Marjamäki
16bed07c60
Clarify tests
2019-06-22 07:50:43 +02:00
Daniel Marjamäki
beea7fa8d2
Token::index(): Created Token member that indicates the Token position in the token list. It can be used to quickly check if tok1 precedes tok2.
2019-06-21 22:16:23 +02:00
Daniel Marjamäki
d636a83f8b
Tokenizer: Assign Token 'progressValue' before returning so they are set properly when the checks are run
2019-06-21 08:43:19 +02:00
orbitcowboy
bb802c0c63
windows.cfg: Added support for constants from 'RpcDce.h: Impersonation Level Constants'.
2019-06-20 15:40:39 +02:00
orbitcowboy
3b3e7fd382
windows.cfg: Added support for _itoa_s()-functions.
2019-06-20 15:25:05 +02:00
orbitcowboy
952a4becf6
std.cfg: Added return type to itoa().
2019-06-20 15:24:35 +02:00
Daniel Marjamäki
c98ceb6e14
Tweak bailout so it's only used in unused template classes
2019-06-20 14:00:44 +02:00
Sebastian
1a4854d93d
windows.cfg: Add macros STDMETHODIMP[_] and STDMETHODCALLTYPE ( #1908 )
2019-06-20 00:44:43 +02:00
Daniel Marjamäki
cf79830afd
Revert "Remove bailout. It hides lots of warnings for real code to avoid FP in unused templates."
...
This reverts commit 2a4be5ae1c
.
When I look at daca@home now there are still lots of false negatives. So this bailout did not cause as much false negatives as I thought.
2019-06-19 22:29:00 +02:00
Georgy Komarov
02cc9ffcd8
misra.py: Add --verify-rule-texts option. ( #1909 )
...
* misra.py: Add verify-rule-texts option.
* Capture stdout output in travis.
2019-06-19 21:57:27 +02:00
orbitcowboy
a5185c7005
wxwidgets.cfg: Added support form ore interfaces.
2019-06-19 15:33:28 +02:00
orbitcowboy
fa20c1671b
wxwidgets.cfg: Added support for wxButton::Bind().
2019-06-19 14:58:54 +02:00
orbitcowboy
067a70ec03
wxwidgets.cfg: Restrict input parameters. No negative status bar field is allowed.
2019-06-19 13:40:39 +02:00
orbitcowboy
aecd4ed765
wxwidgets.cfg: Added support for more interfaces.
2019-06-19 13:25:20 +02:00
orbitcowboy
e8703036c3
wxwidgets.cfg: Added support for more interfaces.
2019-06-19 13:14:52 +02:00
Ken-Patrick
44d6066c6f
FP on assignment through pointer ( #1887 )
...
* Fix FP when assigning through pointers
* Add test case for false positive
cppcheck would faulty warn:
"Condition '*b>0' is always true"
2019-06-17 21:25:15 +02:00
IOBYTE
246576fceb
Fixed #9178 (Assertion `brackets1.empty() == false' failed on valid C++ code) ( #1905 )
...
This fixes a nasty intrinsics related bug causing instantiations that
shouldn't happen.
2019-06-17 21:18:27 +02:00
Georgy Komarov
e979b0652c
misra.py: Fix up and improve load rules parser. ( #1895 )
...
* misra.py: Fixup load rules parser.
* misra.py: Report when rule text is missing in rule-texts file
* misra.py: Allow to skip misra checks not specified in rule-texts.
* misra.py: Remove top-level control flow.
Create separate class that stores settings, instead of global variables.
This is required to perform imports from misra.py for testing purposes.
* misra.py: Add simple pytest test for load rules.
* misra.py: Add document structure tests.
* misra.py: Exit after show rules table.
* misra.py: Add document structure tests.
* misra.py: Fixup import pitfall with python2
* misra.py: Minor fixes
2019-06-17 21:17:29 +02:00
fuzzelhjb
5e3da9e82a
add CERT STR05-C check ( #1899 )
...
* add CERT STR05-C check
* update check
2019-06-17 20:42:23 +02:00
Rikard Falkeborn
b1c8d81bcc
Refactoring; Use range for loop ( #1900 )
2019-06-17 13:17:45 +02:00
Jim Zhou
071fc85a05
minor corrections ( #1906 )
2019-06-17 07:04:08 +02:00
Daniel Marjamäki
59c7be307c
Travis: Fix test/cli testing
2019-06-16 19:11:12 +02:00
Daniel Marjamäki
2a4be5ae1c
Remove bailout. It hides lots of warnings for real code to avoid FP in unused templates.
2019-06-16 19:01:45 +02:00
Rikard Falkeborn
d909ac8565
Bugfix buffer size for strdup like functions ( #1893 )
...
strdup() allocates the string length plus one for a terminating null
character. Add one to compensate for this.
Fixes false positive buffer out of bounds on code like this:
void f() {
const char *a = "abcd";
char * b = strdup(a);
printf("%c", b[4]); // prints the terminating null character
free(b);
}
Also, add a testcase for valueFlowDynamicBufferSize() and add tests for
strdup(), malloc() and calloc().
2019-06-16 16:02:27 +02:00
Daniel Marjamäki
ba0a75881a
Refactor AddonInfo::getAddonInfo
2019-06-16 15:46:20 +02:00
Ken-Patrick
a83b308300
Fix run-dmake step ( #1894 )
2019-06-16 15:06:28 +02:00
orbitcowboy
46745e2054
nspr.cfg: Added documentation.
2019-06-16 13:34:00 +02:00
orbitcowboy
9d34ff6fb9
nspr.cfg: Added (limited) support for some macros from Netscape Portable Runtime (NSPR) library. Reference: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
2019-06-16 13:32:03 +02:00
Daniel Marjamäki
89a45c8f8a
Manual: The Cppcheck GUI has some options that can be 'imported' on the command line
2019-06-16 12:37:18 +02:00
Ken-Patrick
66ebc187f6
Cleanup some const_cast of Token* ( #1886 )
...
* Add non const version of some methods of Token
The aim is to reduce the (ab)use of const_cast.
* Cleanup some more const_cast in valueflow
* Remove useless const_cast
* Remove some const_cast from templatesimplifier
* Remove some const_cast from valueflow
2019-06-16 10:09:38 +02:00
Daniel Marjamäki
167950c8e7
Manual: Move .cfg reference to its own document
2019-06-16 10:08:37 +02:00
Daniel Marjamäki
22ed912e47
manual: trim the manual somewhat. The "speeding up Cppcheck" chapter was removed. Addons should not be described in detail in the manual it is better that this is done in the addon.
2019-06-16 08:22:24 +02:00
Daniel Marjamäki
7e58850677
Travis: Add suppression
2019-06-15 20:56:39 +02:00
Daniel Marjamäki
54ba9482c6
Travis: Tweak self checking. Only check normal source code folders.
2019-06-15 16:44:34 +02:00
Daniel Marjamäki
a140095bbe
Fix Cppcheck warning
2019-06-15 14:37:02 +02:00
Daniel Marjamäki
181991204a
Travis: Improved Cppcheck self check
2019-06-15 14:34:46 +02:00
Daniel Marjamäki
61a259597b
Fix Cppcheck warnings
2019-06-15 13:28:01 +02:00
Daniel Marjamäki
8359d85b12
Fix Cppcheck warning
2019-06-15 13:23:21 +02:00
Daniel Marjamäki
46cad95238
Fix Cppcheck warnings
2019-06-15 13:05:17 +02:00
Daniel Marjamäki
d1f80a2a91
Fix Cppcheck warnings
2019-06-15 13:01:45 +02:00
Daniel Marjamäki
6d982d4320
Testing: comment/naming
2019-06-15 13:01:34 +02:00
Rikard Falkeborn
b970606c93
Add regression test for #7798 ( #1847 )
...
Trac ticket #7798 was fixed in 3f1e2b4270
(More conservative fallback for function overload matching). Add a test
to avoid regressions.
2019-06-15 11:34:06 +02:00
Paul Fultz II
b466415bb4
Fix syntax error in issue 9155 ( #1885 )
2019-06-15 09:48:22 +02:00
IOBYTE
75720528b0
template simplifier: add 2 new template parameter simplifications ( #1884 )
...
* template simplifier: add 2 new template parameter simplifications
int{} -> 0
decltype(int{}) -> int
This fixes reduced test cases like #9153 . I'm not sure they will help
real world code that much.
It was necessary to increase the pass count to 4 to get #9153 completly
simplified.
* relax decltype(type{}) simplification to any type
2019-06-15 09:46:32 +02:00