Daniel Marjamäki
dd6ae3033f
Tokenizer::simplifyRedundantParentheses: dont remove parentheses in 'void * operator new(SIZE_TYPE, int);'
2014-10-11 09:18:43 +02:00
Daniel Marjamäki
e6708c1ae2
AST: fixed hang for 'new (int S::*[3][4][5])()' (clang test suite)
2014-10-11 08:32:49 +02:00
Daniel Marjamäki
19a05b1f53
Tokenizer::setVarId: don't set varid for 'auto' keyword
2014-10-10 16:46:31 +02:00
Daniel Marjamäki
d0d2a0faf8
simplifyCalculations: Fix simplification of '( %num% )' when parentheses must be kept
2014-10-10 13:19:25 +02:00
Daniel Marjamäki
66d4614a87
AST: don't hang when using auto in new statement
2014-10-10 12:47:01 +02:00
Daniel Marjamäki
b5faf3a0cc
AST: improved handling of new
2014-10-10 10:37:54 +02:00
Daniel Marjamäki
cca003490b
Fixed #6203 (AST: fix problem with '; static_cast<...')
2014-10-10 08:18:24 +02:00
Daniel Marjamäki
8233edcbf2
astyle formatting
...
[ci skip]
2014-10-10 08:15:46 +02:00
amai2012
85500dcdbd
Merge pull request #453 from simartin/ticket_5625
...
Ticket #5625 : Simplify constant ternary operator in template parameters.
2014-10-06 09:01:08 +02:00
amai2012
cddb4af10b
Merge pull request #450 from simartin/ticket_6187
...
Ticket #6187 : Avoid infinite loop if eraseDeadCode does not remove anything
2014-10-06 08:59:56 +02:00
Simon Martin
9ddf857dc7
Ticket #5625 : Simplify constant ternary operator in template parameters.
2014-10-04 20:49:57 +02:00
PKEuS
a02712cb66
Some small refactorizations:
...
- Removed redundant calls to std::string constructor
- Use default parameters in some places
2014-10-03 10:02:46 +02:00
PKEuS
bb8c8d53cc
Support do-loops in CheckStl::stlOutOfBounds()
2014-10-02 20:38:55 +02:00
PKEuS
621644b17a
Added support for member variables in Check64BitPortability::pointerassignment()
2014-10-02 20:38:54 +02:00
PKEuS
15f397ab18
Fixed two invalid TODO tests
2014-10-02 20:38:54 +02:00
PKEuS
7c7fcf36af
Support :: prefix in front of allocation function.
2014-10-01 15:33:03 +02:00
PKEuS
14f15d65e7
Support more patterns when replacing stuff like 'or' ( #6201 )
2014-10-01 08:41:55 +02:00
Simon Martin
f088588c88
Ticket #6187 : Avoid infinite loop if eraseDeadCode does not remove anything (invalid goto into a dead loop's body).
2014-09-30 19:43:22 +02:00
PKEuS
8788e58cbb
Fixed false positive #5327 : fclose as inner function call
2014-09-30 13:55:21 +02:00
PKEuS
c0e2adf723
Detect "var += fclose(f)" as deallocation (fixes false positive #6016 )
2014-09-30 13:19:53 +02:00
PKEuS
ccb5384645
Fixed false positive memoryLeak #6013
2014-09-30 13:02:02 +02:00
PKEuS
936043d47d
Fixed false positive 'unusedVar' with C++11 initialization ( #6160 )
2014-09-30 12:39:27 +02:00
PKEuS
926a3694a0
Fixed order of check execution and simplification in testgarbage.cpp
2014-09-30 10:37:55 +02:00
Daniel Marjamäki
14ee7dad0a
Cleanup: Remove redundant #includes
2014-09-30 09:22:33 +02:00
orbitcowboy
7c75386ab2
When garabage code is checked, iterate over all checks.
2014-09-30 08:54:27 +02:00
orbitcowboy
fa7645ec71
Added CheckStl to garabage code testing.
2014-09-30 08:36:55 +02:00
Martin Ettl
924fb90ae0
Merge branch 'master' of https://github.com/danmar/cppcheck
2014-09-29 22:10:27 +02:00
Martin Ettl
4c3e721bf3
testgarbage: is now capable of checking checkother functions.
2014-09-29 22:09:58 +02:00
PKEuS
49a14d72e7
Fixed C&P-error in unit test that was added in previous commit
2014-09-29 19:57:27 +02:00
PKEuS
374ea8f039
Fixed false positive ignoredReturnValue on unknown member function log() ( #6197 )
2014-09-29 19:55:32 +02:00
Martin Ettl
a7c870bdc8
Fixed crash on garbage code in CheckOther::checkVariableScope(). The corresponding backtrace is hosted at https://github.com/orbitcowboy/cppcheck_crash_files/blob/master/crash223.cpp
2014-09-29 19:44:25 +02:00
Martin Ettl
2ca47601cd
Running astyle
2014-09-28 22:05:05 +02:00
Martin Ettl
b677d3d17f
Fix crash on garbage code in tokenlist. The corresponding backtrace along with a testcase is hosted at: https://github.com/orbitcowboy/cppcheck_crash_files/blob/master/crash220.cpp
2014-09-28 22:04:25 +02:00
PKEuS
38af865560
Fixed false positive: Member variable not initialized in the constructor with array and (*this) ( #5754 )
2014-09-29 16:49:20 +02:00
PKEuS
cbb8360b30
Added version attribute to .cfg files ( #5928 )
2014-09-29 16:26:17 +02:00
PKEuS
68b26f8faa
Fixed subsequent false negatives in CheckBufferOverrun::checkInsecureCmdLineArgs() ( #5835 )
2014-09-29 15:38:33 +02:00
PKEuS
448195f255
Added variable name to debug message about typeStartToken()
...
Fixed cppcheck message
2014-09-29 14:36:03 +02:00
PKEuS
0ae09c0029
SymbolDatabase: A token with a varId cannot be a function declaration
2014-09-29 13:05:51 +02:00
Dmitry-Me
1734fc2e9a
Add memory leak tracing (Pull request 407)
2014-09-29 12:26:54 +02:00
PKEuS
58fe668fc4
Fixed AST for operator:: after template ( #6195 )
2014-09-29 11:01:37 +02:00
PKEuS
55b14853d0
Fixed AST: Compile expression inside [] brackets of operator new. ( #6193 )
2014-09-29 10:26:15 +02:00
PKEuS
1495a411eb
Fixed false positive ignoredReturnValue for variables initialized with constructor syntax ( #6194 )
2014-09-29 10:15:29 +02:00
PKEuS
73171b0bc7
Catch exceptions in main() only if NDEBUG is defined
2014-09-28 09:53:11 +02:00
Alexander Mai
ccd80e3407
#6141 FP: Unknown type is assumed to have size 0.
2014-09-27 21:51:11 +02:00
PKEuS
210294443e
New check: Check for unused return values ( #653 )
2014-09-27 21:31:04 +02:00
Alexander Mai
b0c34390cd
Fix FP: tmpnam() expects a valid pointer, an uninitialized array (of conforming size) is fine
2014-09-27 20:29:54 +02:00
PKEuS
e1218cf846
Support allocation of array of pointers with operator new in checkmemoryleak.cpp
2014-09-27 11:25:08 +02:00
PKEuS
812bc6bdaf
CheckVaarg::va_list_usage(): Bailout when try{} block is encountered ( #6186 )
2014-09-27 11:03:58 +02:00
Alexander Mai
21c85118d6
#6189 assign with operator= a '\0' to a std::string is not an error
2014-09-26 20:40:44 +02:00
PKEuS
de13ad7eca
Improved simplifications of redundant loops:
...
- Execute simplifyWhile0 after simplifyKnownVariables (#394 )
- Support declaration of variable in loop header in removeRedundantFor
2014-09-26 10:47:05 +02:00
Lauri Nurmi
e3bdc37b0c
Fix compilation (on Cygwin), by adding the necessary includes.
2014-09-25 05:32:30 +02:00
Robert Reif
1729ea6f0f
Fixed #6182 (Format specifier check confused by ternary operator)
2014-09-24 16:45:06 +02:00
Matthias Krüger
7d85cb37ed
run dmake
2014-09-24 13:50:57 +02:00
PKEuS
20966c5c37
Added test file for garbage code:
...
- cppcheck should be run entirely on garbage code to ensure that no check crashs/hangs on it (TODO).
- All garbage code tests should be moved here (TODO, so far only those from testtokenize.cpp were moved)
2014-09-24 13:45:56 +02:00
PKEuS
3cf6c19a4b
Avoid loading the same .cfg file 30 times in testsimplifytokens.cpp
2014-09-24 13:26:52 +02:00
PKEuS
affd0ffdfd
Splitted large groups of tests out of testsimplifytokens.cpp and testtokenize.cpp
2014-09-24 13:23:44 +02:00
PKEuS
1e8c7e102d
Revert "run dmake"
...
This reverts commit 8ccf9eed09
.
2014-09-23 21:04:31 +02:00
PKEuS
6dc5b1725e
Restored files removed in 1cc872f5b2
2014-09-23 21:02:46 +02:00
Matthias Krüger
8ccf9eed09
run dmake
2014-09-23 16:20:19 +02:00
Lauri Nurmi
1cc872f5b2
Change "obsolete" in all filenames into "obsolescent", and also update all references to such files.
...
Neither the C standard, the C++ standard, or POSIX talks about "obsolete". All of them use the word "obsolescent", which is a different word with a different meaning.
2014-09-23 16:18:04 +02:00
Daniel Marjamäki
ee93d30d94
ValueFlow: improved valueflow for loops that assign variable and then break
2014-09-23 16:06:02 +02:00
Daniel Marjamäki
dc9b1f09ae
astyle formatting
...
[ci skip]
2014-09-23 16:04:38 +02:00
Dmitry-Me
f63dc86f03
Must catch and translate exceptions on top level
2014-09-23 06:10:41 +02:00
Simon Martin
0222c50d4a
Make TestSymbolDatabase::hasClassFunction's code snippet valid.
2014-09-20 14:51:58 +02:00
Jonathan Thackray
2b3ef83f26
Fixed #5747 (When socket() returns -1 on error, this shouldn't be marked as a resource leak)
2014-09-17 18:37:41 +02:00
Daniel Marjamäki
f93cf9d1b7
Fixed #6170 (Tokenizer: sizeof on array in 2d-array is not handled properly)
2014-09-16 17:21:17 +02:00
Alexander Mai
98d4c944e3
#6163 False nullPointer for strtok(NULL, ...). Correct std.cfg
2014-09-15 20:57:34 +02:00
Daniel Marjamäki
bbbe2c1b94
Fixed #6169 (False positive: passing uninitialized struct buffer member to strncpy)
2014-09-15 15:58:21 +02:00
PKEuS
cafddcb109
Fixed wrong function log10 being recommended instead of log1p
2014-09-14 13:36:12 +02:00
Daniel Marjamäki
d354cdc02c
Fixed #6168 (False positive: sign conversion for inner calculation)
2014-09-14 10:29:58 +02:00
Daniel Marjamäki
865a252c89
astyle formatting
...
[ci skip]
2014-09-14 10:29:12 +02:00
Simon Martin
4b750997cb
Ticket #6121 : Report a syntax error for invalid enum initializers.
2014-09-13 20:46:53 +02:00
Simon Martin
01cf008792
Ticket #6134 : Improve the mechanism differentiating template declarations from template definitions.
2014-09-13 16:44:05 +02:00
Dmitry-Me
1e298a31cf
Refactoring tests. Use utility function to warn about unsimplified code in tests.
2014-09-13 12:59:32 +02:00
Simon Martin
bf3a8686ec
Ticket #6164 : Added test case that now works (failed in 1.66).
2014-09-12 21:56:13 +02:00
Daniel Marjamäki
8cbd013d7f
checkSignConversion: dont warn for + and -
2014-09-12 18:58:31 +02:00
Daniel Marjamäki
0e55f12140
Fixed #6165 (Remove old checkUnsignedDivision checker that uses neither AST nor ValueFlow. The CheckType::checkSignConversion should be much more accurate)
2014-09-12 16:59:16 +02:00
Daniel Marjamäki
d60cf16eb8
Sign conversion: Improved check. When its not explicit that 'int' variable is signed but it can have negative values, assume its signed
2014-09-12 16:18:42 +02:00
PKEuS
0b7281803e
Merge pull request #428 from Dmitry-Me/detectArrowAccessesViaUninitPtrs
...
Detect -> accesses on uninitialized pointers
2014-09-12 09:19:59 +02:00
Dmitry-Me
a2b30c7801
Detect -> accesses on uninitialized pointers
2014-09-12 10:19:00 +04:00
Daniel Marjamäki
7119550dde
Too big shift: fix FP when cast is used
2014-09-12 06:45:45 +02:00
Daniel Marjamäki
0ab7abded1
AST: fixed cast for 'return (long long)c << 40;'
2014-09-12 06:43:52 +02:00
PKEuS
6f92557478
Use information about pure/leak-ignore from library to improve accuracy of several bailouts
2014-09-11 20:27:07 +02:00
PKEuS
fb0d145b34
Don't show inconclusive message redundantCopyLocalConst if --inconclusive is not set.
...
Ran AStyle
2014-09-11 19:45:52 +02:00
PKEuS
87e6a3501a
Added checktype.cpp to VS solution; Fixed MSVC warning about signed/unsigned mismatch
2014-09-11 18:47:28 +02:00
Daniel Marjamäki
7847263451
Fixed #6158 (New check: dangerous sign conversion)
2014-09-11 18:10:19 +02:00
PKEuS
865fc9aa67
Fixed #6154 : Don't suggest to reduce scope if inner scope is a lambda.
2014-09-10 20:56:34 +02:00
PKEuS
0a416910c4
Improved speed of testrunner: Avoid repeated loading of the same library
2014-09-10 20:29:44 +02:00
Daniel Marjamäki
974c8688c3
Fixed #1751 (Undefined Behavior: Signed integer overflow)
2014-09-10 17:02:18 +02:00
Daniel Marjamäki
f111a89639
Fixed #1757 (Undefined Behavior: Shift too many bits)
2014-09-09 07:24:59 +02:00
Dmitry-Me
f7824bfd00
CheckNullPointer::isPointerDeRef: Improve handling of static member variables and functions
2014-09-09 05:36:09 +02:00
Frank Zingsheim
8c5013adda
Fixed #6073
2014-09-07 21:53:32 +02:00
PKEuS
ff4fc6a234
New check: Recommend expm1, log1p, erfc ( #5392 )
2014-09-07 11:38:49 +02:00
PKEuS
4859b55ce6
Merge pull request #422 from simartin/ticket_6023
...
Ticket #6023 : Properly handle template'd default template parameter values
2014-09-06 22:55:45 +02:00
Simon Martin
6e10603227
Ticket #6023 : Properly handle template'd default template parameter values.
2014-09-06 20:39:04 +02:00
PKEuS
35b00a5e05
Support rValue references in typedef ( #1823 )
2014-09-06 19:00:26 +02:00
Alexander Mai
efab840b50
#5230 Explicit reinterpret_cast should not give a warning. Lower all invalidPointerCast messages to 'portability'
2014-09-06 13:09:02 +02:00
Alexander Mai
29b46cb505
#6132 crash: daca: kvirc CheckOther::checkRedundantAssignment()
2014-09-05 20:03:34 +02:00
PKEuS
e8f7279039
Refactorization: Moved detection of STL strings to SymbolDatabase
2014-09-05 12:03:08 +02:00
Simon Martin
eeeb816db9
Ticket #6103 : Simplify "new (type)" constructs into "new type" to avoid confusion upon certain input.
2014-09-05 08:02:18 +02:00