PKEuS
|
f4c0ab5dd5
|
SymbolDatabase: Match function overloads by using ValueType information by running a second pass of the function pointer assignment routine.
|
2017-03-24 12:19:29 +01:00 |
Alexander Alekseev
|
abba762d42
|
New check: checking for copy ctor and eq operator co-existence
|
2017-03-24 12:00:20 +01:00 |
Robert Reif
|
bc87e874e9
|
Add variable and type information for auto and auto variables in range based for loops of containers.
|
2017-03-23 20:14:49 -04:00 |
Robert Reif
|
7adfb6e0e4
|
Add variable and type information to tokens for C array range based for loops.
|
2017-03-23 19:48:20 -04:00 |
PKEuS
|
97fa9e9d1b
|
ValueFlow: Stop on inline assembly
|
2017-03-23 20:01:16 +01:00 |
PKEuS
|
9225bff31d
|
Added (back) support for enums to CheckCondition::checkIncorrectLogicOperator() (#7794)
|
2017-03-23 18:57:48 +01:00 |
PKEuS
|
996501a449
|
Fixed false positive #7953: Support type conversion operators returning pointers
|
2017-03-23 18:12:46 +01:00 |
Daniel Marjamäki
|
c280bcedb4
|
Merge pull request #880 from IOBYTE/master
Update symbol database with new auto type and variable information for assignment to auto.
|
2017-03-23 08:51:06 +01:00 |
Robert Reif
|
662bc6f846
|
Add variable or type information to auto and auto variable tokens. Changing the auto variable type requires rerunning the variable pointer pass to correct the symbol database for the new type.
|
2017-03-22 22:09:40 -04:00 |
Robert Reif
|
fda1f02dab
|
long double is a floating point type.
|
2017-03-22 19:11:40 -04:00 |
Daniel Marjamäki
|
865588950a
|
Preprocessor: quick fix for #7939
|
2017-03-22 10:53:21 +01:00 |
Robert Reif
|
f099c6a110
|
Refactor symbol database value type support by making setValueTypeInTokenList and setValueType member functions of SymbolDatabase. Class variables are no longer passed around as parameters but accessed directly which simplifies the code. There should be no functional change.
|
2017-03-21 21:55:22 -04:00 |
orbitcowboy
|
a7f1188151
|
Astyle run.
|
2017-03-21 14:22:28 +01:00 |
Simon Martin
|
fb2b29dc7d
|
Update TemplateSimplifier::getTemplateNamePosition to handle out-of-line template methods.
Add an optional extended description…
|
2017-03-19 20:44:20 +01:00 |
Daniel Marjamäki
|
c18fe8262b
|
Fixed #7934 (Wrong AST for 'for (i=0;cond;({min(x,10);}))')
|
2017-03-19 07:26:11 +01:00 |
PKEuS
|
7c0aa4464c
|
Fixed travis build by replacing Token::Match by simpleMatch()
Added missing files to cppcheck.vcxproj.filters
|
2017-03-16 21:15:10 +01:00 |
PKEuS
|
8a3fb4dd6c
|
SymbolDatabase: Fixed return type token detection for template member functions (#7945)
|
2017-03-16 20:47:24 +01:00 |
PKEuS
|
ca3e3b3cdb
|
Fixed false positive multiCondition when & is used in both conditions (#7827)
|
2017-03-15 19:37:14 +01:00 |
PKEuS
|
c638180753
|
Fixed crash in clang test suite introduced in b27ba72fdd
|
2017-03-15 19:22:42 +01:00 |
PKEuS
|
816106560a
|
More conservative check for non-commutative operator+ in isSameExpression() (#7938)
|
2017-03-15 19:17:40 +01:00 |
PKEuS
|
bcba27fbb9
|
SymbolDatabase: Removed unnecessary bailout in function matching for pointers in function overload matching
|
2017-03-15 18:45:33 +01:00 |
PKEuS
|
b27ba72fdd
|
SymbolDatabase: Support function overload matching for member variables (#7932)
|
2017-03-15 18:37:22 +01:00 |
PKEuS
|
92414b923a
|
Library: Support variadic functions which are not a formatstr-function
|
2017-03-14 17:41:34 +01:00 |
Daniel Marjamäki
|
263c3596d5
|
known conditions: dont warn about 0 or 1 conditions as those look intentional
|
2017-03-08 18:39:19 +01:00 |
Daniel Marjamäki
|
8c707876ed
|
Tokenizer: Don't simplify '({..})' wrongly
|
2017-03-08 11:41:18 +01:00 |
Daniel Marjamäki
|
5d7fa590af
|
Don't check ignored function return value in ({..}). Ticket: #7934
|
2017-03-08 10:23:38 +01:00 |
PKEuS
|
00904ba32a
|
Fixed false negatives in CheckOther::checkPassByReference() when assignment operator is used.
|
2017-03-07 21:49:28 +01:00 |
PKEuS
|
3da1de7893
|
Do not exclude std::shared_ptr and std::unique_ptr from checkPassByReference() (#7834)
These two types are larger than one pointer. Hence, passing by reference is faster.
|
2017-03-07 21:18:08 +01:00 |
PKEuS
|
1c3f010935
|
Fixed false positive: Exclude STL shared pointers from checkPassByReference() (#7834)
|
2017-03-07 21:04:19 +01:00 |
Daniel Marjamäki
|
5ea9519586
|
UseRetVal: Fix FN for methods
|
2017-03-05 22:23:16 +01:00 |
Daniel Marjamäki
|
2daf7f5430
|
Merge pull request #874 from simartin/ticket_7912
Ticket #7912: Properly preprocess files with decreasing line numbers, due to #line directives
|
2017-03-05 20:33:53 +01:00 |
Daniel Marjamäki
|
e560ad1616
|
update std::string config
|
2017-03-05 18:19:49 +01:00 |
Simon Martin
|
43e4364675
|
Ticket #7912: Properly preprocess files with decreasing line numbers, due to #line directives.
|
2017-03-05 16:46:43 +01:00 |
Daniel Marjamäki
|
6c1096bf71
|
ValueType: First change to handle 'for (auto i : container)'
|
2017-03-05 15:40:29 +01:00 |
Daniel Marjamäki
|
ab7cf5d215
|
ValueType: set ValueType for method that returns iterator
|
2017-03-05 14:53:32 +01:00 |
Daniel Marjamäki
|
fa7501d3a5
|
ValueType: stl variables should now be handled
|
2017-03-05 10:33:17 +01:00 |
Daniel Marjamäki
|
f3c0461001
|
ValueType: handling scoped types in 'new ...'
|
2017-03-05 10:24:51 +01:00 |
Daniel Marjamäki
|
e0dd0a82ed
|
ValueType: refactor and improve handling of 'new ...'
|
2017-03-05 10:02:47 +01:00 |
Robert Reif
|
e02b2c4483
|
ValueType: handle new nothrow
|
2017-03-05 02:13:00 +01:00 |
Daniel Marjamäki
|
115ea08544
|
ValueType: Allow that type is library-container
|
2017-03-05 02:09:52 +01:00 |
Daniel Marjamäki
|
c832b2f40b
|
ValueType: Fixed bug
|
2017-03-05 01:39:56 +01:00 |
Daniel Marjamäki
|
920398615d
|
ValueType: handle scoped types in parsedecl
|
2017-03-05 01:21:02 +01:00 |
Daniel Marjamäki
|
2f2ac46243
|
Replaced hardcoding for char16_t and char32_t with configuration
|
2017-03-04 16:30:42 +01:00 |
Daniel Marjamäki
|
12fe4a8b3e
|
Fixed #7885 (ValueType: Wrong type for large hexvalue (platform=win32A))
|
2017-03-04 14:19:14 +01:00 |
Daniel Marjamäki
|
ecc59859e1
|
Don't simplify _Bool in TokenList
|
2017-03-04 11:13:28 +01:00 |
Daniel Marjamäki
|
f0c353abcb
|
TokenList: append 'U' if needed on hexvalues
|
2017-03-04 08:47:53 +01:00 |
Daniel Marjamäki
|
1c6c209353
|
Fixed #7890 (1.77 false positive from knownConditionTrueFalse with function-like macros)
|
2017-03-03 19:53:16 +01:00 |
Daniel Marjamäki
|
b1ce229006
|
Small refactoring
|
2017-03-03 19:09:32 +01:00 |
Daniel Marjamäki
|
59c1c76a97
|
Fixed #7466 (Reference variable does not count side-effects (FP variableScope))
|
2017-03-03 19:07:00 +01:00 |
Daniel Marjamäki
|
b5f2fd3c55
|
Fixed #7738 (False positive deallocret - delete and return NULL pointer)
|
2017-03-03 18:36:06 +01:00 |
Daniel Marjamäki
|
d1c66edb03
|
ValueFlow: Known values in conditional code
|
2017-03-03 01:29:34 +01:00 |
Daniel Marjamäki
|
45c5860ca4
|
Fixed #7926 (Memory Leak with auto not detected)
|
2017-03-02 22:24:26 +01:00 |
Daniel Marjamäki
|
9dc219f1ba
|
CheckIO: Use ValueType more
|
2017-03-01 22:33:31 +01:00 |
Daniel Marjamäki
|
995d875cb2
|
SymbolDatabase: Refactoring
|
2017-03-01 18:09:50 +01:00 |
Daniel Marjamäki
|
51b5f1c286
|
Fixed #7931 (crash: SymbolDatabase: Variable::setFlag)
|
2017-03-01 17:13:22 +01:00 |
PKEuS
|
7eee6af4ce
|
Fixed broken condition
|
2017-03-01 11:42:14 +01:00 |
PKEuS
|
2f0db369f0
|
Refactorization: Avoid construction of empty strings by using emptyString
|
2017-03-01 10:50:50 +01:00 |
PKEuS
|
d501e488ca
|
Refactorization: Reordered conditions in Scope::findFunction()
|
2017-03-01 10:27:01 +01:00 |
Daniel Marjamäki
|
279425499e
|
Fixed #7930 (Improve check: Missing stlcstr warning for reference variable)
|
2017-03-01 02:03:08 +01:00 |
PKEuS
|
85768f1829
|
SymbolDatabase: Overload matching with boolean literals as argument and with arbitrary null-pointers
|
2017-02-28 22:43:47 +01:00 |
PKEuS
|
942644fde6
|
SymbolDatabase: Overload matching with character literals as argument
|
2017-02-28 22:08:41 +01:00 |
Daniel Marjamäki
|
841e0c2921
|
Fixed #7546 (Assignment to array element not detected if pointer addition is used)
|
2017-02-28 22:04:05 +01:00 |
Daniel Marjamäki
|
16c06e5714
|
Fixed #7588 (Opposite conditions in nested 'if' blocks lead to a dead code block.)
|
2017-02-28 18:46:28 +01:00 |
Ville Skyttä
|
2ccd5aec1a
|
Comment spelling fixes
Add an optional extended description…
|
2017-02-28 12:22:59 +01:00 |
Daniel Marjamäki
|
beaf29c158
|
SymbolDatabase: Update some properties for auto variables
|
2017-02-27 23:04:25 +01:00 |
Daniel Marjamäki
|
994f6b684d
|
ValueType: initial handling of new
|
2017-02-27 20:57:28 +01:00 |
Matthias Krüger
|
ce3bc006e7
|
fix build with -DMAXTIME=123
|
2017-02-27 14:00:06 +01:00 |
Matthias Krüger
|
35e7697474
|
switch some functions from const to static, as cppcheck suggests.
|
2017-02-27 13:51:33 +01:00 |
PKEuS
|
900d05d9dd
|
Optimization: Do not attempt to find a matching function for if, for, while, etc.
|
2017-02-27 10:35:47 +01:00 |
Daniel Marjamäki
|
7ecd5db8fb
|
ValueType: Handle auto in range for loop
|
2017-02-27 02:09:33 +01:00 |
Daniel Marjamäki
|
2da360eec5
|
ValueType: Handle 'auto *p = ..'
|
2017-02-26 22:43:10 +01:00 |
Daniel Marjamäki
|
dad455c0dd
|
ValueType: Handle 'auto'. First fix for #4345
|
2017-02-26 20:02:57 +01:00 |
Daniel Marjamäki
|
d840005f06
|
Fixed #7656 (stlcstr - false positive)
|
2017-02-26 17:25:32 +01:00 |
Daniel Marjamäki
|
f68fa72095
|
Fixed #7583 (Defect: False positive '(error) Reference to temporary returned')
|
2017-02-26 13:41:49 +01:00 |
PKEuS
|
c1d8fd7f13
|
SymbolDatabase: Better handling of pointers in findFunction(), supporting const pointers and std::string overloads
|
2017-02-26 11:36:04 +01:00 |
PKEuS
|
4a27376694
|
SymbolDatabase: Implement two-stage fallback mechanism for matching function overloads, increasing matching accuracy
|
2017-02-25 23:12:00 +01:00 |
Daniel Marjamäki
|
adc659f58b
|
Fixed #7897 (MathLib::toDoubleValue: Does not handle character literal)
|
2017-02-25 21:58:09 +01:00 |
Daniel Marjamäki
|
26fc7abfac
|
Fixed #7837 (Field dereference triggers format string type warning)
|
2017-02-25 18:22:14 +01:00 |
Daniel Marjamäki
|
2e91858640
|
Fixed #7877 (Tokenizer: Does not clear ValueFlow after first pass)
|
2017-02-25 17:57:39 +01:00 |
Daniel Marjamäki
|
55d7ab65b9
|
Fixed #7918 (::exit() not recognized as noreturn)
|
2017-02-25 12:12:39 +01:00 |
Daniel Marjamäki
|
99544069d1
|
CheckLeakAutoVar: better handling of noreturn functions. Partial fix for #7918.
|
2017-02-25 11:36:48 +01:00 |
PKEuS
|
3f1e2b4270
|
More conservative fallback for function overload matching
|
2017-02-24 20:56:47 +01:00 |
PKEuS
|
4e28d40bf0
|
Fixed matching long long overload to function call f(0)
|
2017-02-24 20:33:52 +01:00 |
PKEuS
|
de86d40c97
|
Fixed handling of NULL and nullptr in CheckNullPointer
|
2017-02-24 19:44:28 +01:00 |
PKEuS
|
b08f99a082
|
Fixed false negative: nullpointer passed as std::string argument (#7927)
Refactorization: Removed dead code from CheckNullPointer::parseFunctionCall()
|
2017-02-24 19:10:34 +01:00 |
Daniel Marjamäki
|
a53f14da25
|
Fixed #7925 (False Positive identical condition)
|
2017-02-22 21:13:36 +01:00 |
Robert Reif
|
8e0f1ec788
|
Fixed #7909 (Crash in CheckMemoryLeakInClass)
|
2017-02-20 23:09:35 +01:00 |
Simon Martin
|
487f76cdd1
|
Ticket #7916: Don't incorrectly simplify return statements involving template instantiations.
|
2017-02-18 21:14:50 +01:00 |
Daniel Marjamäki
|
774a8979a3
|
Fixed #7095 (False positive: (warning) Return value of function to_string() is not used.)
|
2017-02-12 16:50:45 +01:00 |
Daniel Marjamäki
|
7c800d6ed7
|
Fixed #7447 (FP: ignoredReturnValue on C++11 uniform initialization)
|
2017-02-12 16:33:28 +01:00 |
Simon Martin
|
326d152aa2
|
Ticket #7914: Properly recognize template parameters that contains operators. (#870)
|
2017-02-11 10:13:41 +01:00 |
Matthias Krüger
|
6f1e7e897d
|
simplify if(tok && Token::{simple,}Match) to if(Token::{simple,}Match).
|
2017-02-06 15:37:12 +01:00 |
Simon Martin
|
0943b2145b
|
Ticket #7891: Do not remove spaces in the internal representation for template instantiations.
|
2017-02-05 17:35:29 +01:00 |
Matthias Krüger
|
92d9e810f3
|
templatesimplifier: remove redundant assignments inside switchcase. They will always be overwritten by an assignment outside of the switch near the end of the function. Found by clang analyzer.
|
2017-01-30 22:26:54 +01:00 |
Simon Martin
|
5262ed018e
|
Ticket #7440: Function calls should not abort pointer alias analysis for local variables.
|
2017-01-27 22:56:28 +01:00 |
umanamente
|
a012e5b5fb
|
(Fixed #7846) Syntax error when using C++11 braced-initializer in function last argument
Add an optional extended description…
|
2017-01-23 12:50:36 +01:00 |
umanamente
|
2f609c2b9a
|
Added cppcheck.natvis file for human readable debug information in Visual Studio.
Add an optional extended description…
|
2017-01-22 10:21:29 +01:00 |
umanamente
|
0c1ba8e8b4
|
(Fixed #7895) C++11 brace initialization. Added test. (#862)
Add an optional extended description…
|
2017-01-22 10:16:40 +01:00 |
PKEuS
|
3022d74801
|
Do not suggest pass by reference for std::initializer_list
|
2017-01-19 11:14:55 +01:00 |
amai2012
|
722fac391d
|
Merge pull request #858 from simartin/ticket_7820
Ticket #7820: Properly report leaks with conditional deallocations followed by a return.
|
2017-01-18 09:31:49 +01:00 |