Daniel Marjamäki
|
350908d0e9
|
Fix FP in CheckUnusedVar. Caused by #7230 fix.
|
2015-12-31 15:30:33 +01:00 |
Matthias Krüger
|
7c1a4da6a4
|
testrunner: add testcase for #7246.
|
2015-12-31 14:17:52 +01:00 |
Daniel Marjamäki
|
9f6890512c
|
Refactoring CheckType checkers. Use ValueType.
|
2015-12-31 12:05:23 +01:00 |
Daniel Marjamäki
|
8171154e12
|
Fixed #7230 (Confusing code snippet in error message)
|
2015-12-31 01:15:49 +01:00 |
Daniel Marjamäki
|
5216f904e7
|
Refactoring Check64BitPortability. Use ValueType.
|
2015-12-30 19:59:23 +01:00 |
Daniel Marjamäki
|
c0e8654649
|
Refactor void* checking. Use ValueType.
|
2015-12-30 11:48:20 +01:00 |
Daniel Marjamäki
|
fdcab8f1bb
|
ValueType: better handling of struct member
|
2015-12-30 11:36:46 +01:00 |
Daniel Marjamäki
|
c5c386ceb8
|
ValueType: Handle void pointers
|
2015-12-29 19:58:51 +01:00 |
Daniel Marjamäki
|
bd1037e95b
|
Fixed #7242 (False positive unknownEvaluationOrder - comma expression in function argument)
|
2015-12-29 12:06:42 +01:00 |
Daniel Marjamäki
|
83cb028963
|
Preprocessor: insert space between ++ or -- in macro expansion
|
2015-12-29 06:54:44 +01:00 |
Daniel Marjamäki
|
25a5ac1846
|
Split up TestOther::testEvaluationOrder()
|
2015-12-28 14:04:14 +01:00 |
Daniel Marjamäki
|
15ecb26a6c
|
Tokenizer: Moved simplifyAssignmentInFunctionCall from simplifyTokenList1 to simplifyTokenList2
|
2015-12-28 13:58:41 +01:00 |
Daniel Marjamäki
|
0ddb5c12ce
|
Fixed #7238 (False positive unknownEvaluationOrder for comma operator on C code)
|
2015-12-28 13:45:55 +01:00 |
Daniel Marjamäki
|
f09dded7b1
|
TokenList: Better handling of '1++a' and 'a++1'
|
2015-12-27 14:57:22 +01:00 |
Daniel Marjamäki
|
908bc664a4
|
Evaluation order: ignore usage in sizeof
|
2015-12-27 14:08:16 +01:00 |
Alexander Mai
|
e9635fd393
|
#7236 segmentation fault (invalid code) in ValueFlow::setValues. #7237 segmentation fault (invalid code) in Tokenizer::setVarIdClassDeclaration
|
2015-12-26 23:51:10 +01:00 |
amai2012
|
081f443b2a
|
#7235 segmentation fault (invalid code) in TokenList::createAst
|
2015-12-26 20:26:07 +01:00 |
amai2012
|
36a6599386
|
#7324 segmentation fault (invalid code) in Tokenizer::simplifyTokenList1
|
2015-12-26 20:16:01 +01:00 |
Daniel Marjamäki
|
c672210e06
|
Evaluation order: don't warn for 'dostuff(expr++, &expr)'
|
2015-12-26 15:48:43 +01:00 |
Daniel Marjamäki
|
32455e8441
|
Fixed #7214 (ValueType: does not handle static_cast)
|
2015-12-26 15:20:17 +01:00 |
Daniel Marjamäki
|
293bd2eead
|
Fixed #6990 (false negative: Invalid abs() argument nr 1. A non-boolean value is required.)
|
2015-12-26 01:38:41 +01:00 |
Daniel Marjamäki
|
64494ca226
|
astyle formatting
[ci skip]
|
2015-12-26 01:37:21 +01:00 |
Alexander Mai
|
87767fb666
|
#7228 segmentation fault (invalid code) in Tokenizer::isFunctionHead
|
2015-12-26 00:21:56 +01:00 |
Daniel Marjamäki
|
ab6809f3fa
|
Fixed testrunner
|
2015-12-25 19:01:32 +01:00 |
Daniel Marjamäki
|
24438c326e
|
Fixed #7233 (Fasle negative 'unknownEvaluationOrder in case of macro)
|
2015-12-25 18:31:21 +01:00 |
Daniel Marjamäki
|
27af1bcfd8
|
Fixed #7229 (Improve check; unknown evaluation order, write different message for self assignment)
|
2015-12-25 18:00:19 +01:00 |
Daniel Marjamäki
|
07b929e13f
|
Added TODO test case for unknown evaluation order
|
2015-12-25 17:48:15 +01:00 |
Daniel Marjamäki
|
90a54b1fae
|
Fixed #7232 (False positive unknownEvaluationOrder on id = Remap( id += 42 );)
|
2015-12-25 16:45:11 +01:00 |
Daniel Marjamäki
|
81f0597316
|
Fixed #3206 and #7226 (New check: Undefined execution order)
|
2015-12-24 09:13:20 +01:00 |
PKEuS
|
8f641aaa76
|
Added gets_s() to std.cfg (C11), added <use-retval/> to min/max().
|
2015-12-18 18:09:07 +01:00 |
PKEuS
|
8f22e4924c
|
Updated AStyle to version 2.05.1
Tweaked runastyle.bat a little bit.
|
2015-12-17 15:53:13 +01:00 |
Matthias Krüger
|
158238ad4b
|
add testcase for #7179 (see bebf8cc )
|
2015-12-17 14:08:24 +01:00 |
Daniel Marjamäki
|
bebf8ccdd5
|
Revert da15efb3 and 6304a4dd to fix FPs. See #7148, #7179, etc
|
2015-12-16 14:51:50 +01:00 |
orbitcowboy
|
ad17a0d721
|
testsymboldatabase: Improved constness of local variable.
|
2015-12-15 13:29:58 +01:00 |
orbitcowboy
|
d93f2994d4
|
testsymboldatabase: Removed useless call of GetSymbolDatabase.
|
2015-12-15 13:11:20 +01:00 |
Daniel Marjamäki
|
0baad496f2
|
Fixed #6383 (FP shiftNegative - value converted to unsigned in function argument)
|
2015-12-14 10:55:23 +01:00 |
Pavel Bibergal
|
e4dc97c81c
|
faster recursive file collection on huge codebases (posix systems), was 47sec to collect all files, now its only 3
|
2015-12-13 15:21:01 +02:00 |
Alexander Mai
|
96531d6ffe
|
TokenList::createAst() doesn't validate itself anymore. Remove some duplicated code and fix glitch in TestGarbage::garbageCode162
|
2015-12-12 20:01:03 +01:00 |
Daniel Marjamäki
|
9cb8e9a07e
|
Revert "Fixed #3923 (valueFlowForward: assignment in if should not cause bailout for code in else)"
This reverts commit 04f9b71281 .
|
2015-12-12 16:50:02 +01:00 |
Daniel Marjamäki
|
04f9b71281
|
Fixed #3923 (valueFlowForward: assignment in if should not cause bailout for code in else)
|
2015-12-12 15:50:33 +01:00 |
Alexander Mai
|
9a847d7b14
|
#7208 Cppcheck hangs with 100% CPU load in CheckOther::checkNegativeBitwiseShift (invalidcode). TokenList::validateAst() is running consistency checks on AST
|
2015-12-12 15:39:38 +01:00 |
Daniel Marjamäki
|
392cda8bce
|
Remove qmake pro files. qmake is just for cppcheck-gui nowadays.
|
2015-12-11 15:20:57 +01:00 |
Akhilesh Nema
|
932f6ea81b
|
Cppcheck hangs with 100% CPU load in TemplateSimplifier::checkComplicatedSyntaxErrorsInTemplates (invalidcode)
|
2015-12-09 14:00:40 +01:00 |
Alexander Mai
|
26b699fd30
|
Fix compiler warnings about incomplete handling of library error codes
|
2015-12-06 12:52:49 +01:00 |
Alexander Mai
|
9d8dffbd79
|
#6269 false positives in case of overloaded standard library functions. Detect memset() with proper argument cound, using new function numberOfArguments()
|
2015-12-06 12:50:05 +01:00 |
PKEuS
|
eb27d3b877
|
Refactorization: Moved condition out of loop and ran AStyle
|
2015-12-06 10:40:22 +01:00 |
Alexander Mai
|
98f2cd021e
|
#7199 SymbolDatabase::validate() should be run in debug mode and print debug messages. In turn correct some test examples with invalid code.
|
2015-12-06 08:14:04 +01:00 |
Alexander Mai
|
ba0859e838
|
#6981 crash in checkvaarg.cpp (with possible fix). Avoid segfault. Add SymbolDatabase::validate() to allow validating smyboldatabase
|
2015-12-05 20:55:26 +01:00 |
Alexander Mai
|
5ddc5c0798
|
#7187 internal error; unhandled char constant \e. Support \e char literal support by clang,gcc,tcc
|
2015-12-05 18:53:03 +01:00 |
Alexander Mai
|
86c9387987
|
#7182 crash: CheckMemoryLeak::functionReturnType()
|
2015-12-05 18:43:29 +01:00 |
Matthias Krüger
|
246147c6e6
|
TestClass::memsetOnClass(): remove duplicate ASSERT_EQUALS() call.
|
2015-12-05 18:31:33 +01:00 |
Alexander Mai
|
e69377d5a8
|
#7183 CheckClass::checkMemset() uint overflow. Plus some minor refactoring
|
2015-12-05 18:22:01 +01:00 |
Alexander Mai
|
6ae1533cb4
|
#7190 Cppcheck hangs with 100% CPU load in Tokenizer::simplifyAttribute (invalidcode). Call validate() once more in Tokenizer::simplifyTokenList1 to trigger invalid code exception
|
2015-12-05 13:55:33 +01:00 |
PKEuS
|
308fd1ba50
|
Fixed false positive 'noCopyConstructor' for static member variable (#7198)
|
2015-12-04 18:26:49 +01:00 |
Dmitry-Me
|
8f8a0097fe
|
Detect more non-interlocked accesses
|
2015-12-02 10:58:57 +03:00 |
Daniel Marjamäki
|
508b06abaa
|
Fixed #6973 (ValueFlow: dont set possible tokvalues in unreachable code)
|
2015-12-01 07:49:19 +01:00 |
Matthias Krüger
|
9a42f52915
|
testpath: add another explicit test for './././././test.cpp' being the same as 'test.cpp'
|
2015-11-30 22:04:24 +01:00 |
Matthias Krüger
|
c7bbc27130
|
Preprocessor: run paths of some error messages through Path::simplifyPath()
teach Path::simplifyPath() to recursively remove "./././" from beginning of paths.
|
2015-11-30 19:30:37 +01:00 |
Daniel Marjamäki
|
9c3f25603e
|
CheckBufferOverrun: Remove old checking of strings and use new ValueFlow-based checking instead (#6973)
|
2015-11-30 16:36:52 +01:00 |
Daniel Marjamäki
|
8fb6f33aca
|
ValueFlow: dont set dynamic values in unreachable code (#6973)
|
2015-11-30 16:15:58 +01:00 |
Daniel Marjamäki
|
1b0bb02f1d
|
invalidTestForOverflow: Fixed some false negatives (#7184)
|
2015-11-30 11:12:51 +01:00 |
Daniel Marjamäki
|
fb8cce647c
|
invalidTestForOverflow: Refactor; move from checkother to checkcondition
|
2015-11-30 08:51:15 +01:00 |
Daniel Marjamäki
|
26a07265a8
|
Fixed #7184 (Invalid test for overflow 'p + x < p')
|
2015-11-29 20:59:50 +01:00 |
Daniel Marjamäki
|
4fa888ec44
|
Warn when shifting a negative value, it is UB. (#4931)
|
2015-11-29 16:28:55 +01:00 |
Daniel Marjamäki
|
8a9e068129
|
Fixed #7119 (Cppcheck hangs with 100% CPU load in Tokenizer::copyTokens (invalidcode))
|
2015-11-29 14:56:15 +01:00 |
PKEuS
|
e8522c7883
|
Small refactorizations:
- #include cleanup
- Use std::array instead of std::vector
- Do not create a stringstream to concatenate 4 strings
- Use std::cout instead of printf
|
2015-11-29 10:56:44 +01:00 |
Alexander Mai
|
f4aaa76639
|
Fix compile error with clang
|
2015-11-28 16:50:12 +01:00 |
Alexander Mai
|
78489f4293
|
MathLib::characterLiteralToLongNumber can encode unicode char literals, though it's incompatible to gcc/clang
|
2015-11-28 16:37:26 +01:00 |
Daniel Marjamäki
|
5fabe66ff7
|
simplifyCalculations: better handling of && and || in conditions (#4931)
|
2015-11-28 15:00:41 +01:00 |
Alexander Mai
|
174317429f
|
Reduce number of threads TestThreadExecutor::many_threads a bit. Especially runs with dynamic analysis tools (asan/ubsan/etc.) cause very high system load.
|
2015-11-28 12:04:03 +01:00 |
PKEuS
|
93c02ce826
|
Fixed compiler error introduced in previous commit and several MSVC warnings
|
2015-11-28 10:49:08 +01:00 |
Daniel Marjamäki
|
c0da6c1541
|
simplifyCalculations: handle '(4%1<<1&4!=1)' better. must combine '!' '=' before constant folding. fixed the operator precedence for comparison operators. (#4931)
|
2015-11-28 09:04:22 +01:00 |
Daniel Marjamäki
|
1bf547c716
|
Fixed #4931 (Wrong calculation for '2|0*0&2>>1+0%2*1')
|
2015-11-27 15:02:49 +01:00 |
Daniel Marjamäki
|
1977a18a1e
|
simplifyNumericCalculations: Don't fold negative constants in shift/bitmask calculation. Behaviour is not well defined.
|
2015-11-27 14:16:49 +01:00 |
PKEuS
|
3b4160600d
|
Fixed crash in CheckMemoryLeak::functionReturnType() for unary operator:: (#7172)
|
2015-11-27 11:18:40 +01:00 |
PKEuS
|
0ba3d25917
|
CheckMemoryLeak: Correctly detect new char[...]() as array allocation (#7164)
|
2015-11-27 11:04:18 +01:00 |
Frank Zingsheim
|
1d7fac3ca9
|
Added testrunner test to cmake. #7098
|
2015-11-26 21:01:07 +01:00 |
Frank Zingsheim
|
70c20515a9
|
Cmake object linkage. Fix #7128: (cppcheck 1.70 doesn't report any warnings)
|
2015-11-26 20:25:09 +01:00 |
Daniel Marjamäki
|
2737f63f71
|
Wrong calculation of constants (simplifying: +,<<,% operations)
|
2015-11-25 16:46:39 +01:00 |
orbitcowboy
|
f84af529af
|
Extended windows.cfg and posix.cfg about missing functions, found by using --check-library on some projects.
|
2015-11-25 11:02:32 +01:00 |
Alexander Mai
|
a7ab5ecf08
|
Fix some compiler in MathLib::characterLiteralToLongNumber + some small refactoring
|
2015-11-23 20:41:21 +01:00 |
Daniel Marjamäki
|
e8182395f7
|
Fix 'make checkcfg' by adding inline suppressions when obsolete functions are used.
|
2015-11-22 17:52:47 +01:00 |
Alexander Mai
|
b7030fcfa1
|
Fix compiler error (VS2010) and warning
|
2015-11-22 16:56:44 +01:00 |
Daniel Marjamäki
|
d93cf96a29
|
Fixed #6769 (false positive: Uninitialized struct member: epoch.integer)
|
2015-11-22 16:20:46 +01:00 |
Alexander Mai
|
63b7700660
|
Use clang/gcc-conforming encoding of multicharacter literals
|
2015-11-22 14:20:36 +01:00 |
PKEuS
|
f516de8633
|
Moved a few checks from CheckOther to CheckFunctions
|
2015-11-22 13:49:10 +01:00 |
Alexander Mai
|
9ca6704c81
|
#7162 Support multicharacter char literals.
|
2015-11-22 13:31:31 +01:00 |
Matthias Krüger
|
8db72994fb
|
make checkcfg / runtests.sh: be verbose (set -x)
|
2015-11-22 11:03:10 +01:00 |
Alexander Mai
|
b1385dd951
|
Run dmake to update Makefile etc.
|
2015-11-22 10:40:48 +01:00 |
PKEuS
|
57d1196386
|
Replaced CheckNonReentrantFunctions and CheckObsoleteFunctions by generic CheckFunctions which is based on Library (#6529)
|
2015-11-22 09:18:07 +01:00 |
Alexander Mai
|
517922feb6
|
MathLib::characterLiteralToLongNumber now reports more specific error messages for unsupported unicode literals (see #7162)
|
2015-11-22 07:38:38 +01:00 |
Alexander Mai
|
714579401f
|
#7160 Internal error: Unhandled char constant '\1'. Correct MathLib::toLongNumber. Create new utility function MathLib::characterLiteralToLongNumber
|
2015-11-21 22:35:58 +01:00 |
Daniel Marjamäki
|
5f68f3ddf6
|
Fixed #6264 (FP: gimp: struct initialized via pointers to member variables)
|
2015-11-21 19:31:18 +01:00 |
Daniel Marjamäki
|
fb0477affd
|
CheckUninitVar: Fixed false negatives when there are conditions
|
2015-11-21 10:00:21 +01:00 |
PKEuS
|
12af125fd3
|
Fixed false positive stlIfStrFind for function call inside condition.
Removed unnecessary suppressions in .travis_suppressions
|
2015-11-20 20:08:53 +01:00 |
Daniel Marjamäki
|
8fd62e0cf9
|
Fixed #4931 (Wrong calculation of constants (simplifying: +,<<,% operations))
|
2015-11-20 19:43:11 +01:00 |
Daniel Marjamäki
|
79a70c1277
|
MathLib::toLongNumber: Better handling of '\x12' and '\000' char constants
|
2015-11-20 18:57:48 +01:00 |
Daniel Marjamäki
|
4abc0b7c1f
|
Partial fix for #4931 (Wrong calculation of constants (simplifying: +,<<,% operations))
|
2015-11-20 16:09:47 +01:00 |
PKEuS
|
c0e33e20b4
|
Reimplemented CheckStl::readingEmptyStlContainer() based on Libraries
|
2015-11-20 15:53:14 +01:00 |
PKEuS
|
53b2eca983
|
Reimplemented CheckStl::stlBoundaries() based on Libraries; Added support for iterators to libraries
|
2015-11-20 15:53:14 +01:00 |