Robert Reif
bcf0c5f010
Add ValueType and auto type information to debug output.
...
Print out ValueType for variables and function return type.
Print out complete type for variables and function return type.
Print out ValueType for variable auto token.
2017-04-07 19:57:10 -04:00
Daniel Marjamäki
fd2651909c
Fixed #7978 (ValueType: container type not set properly)
2017-04-06 07:07:20 +02:00
Daniel Marjamäki
fee86b9684
ValueType: Better handling of 'new Container'
2017-04-05 22:05:29 +02:00
Daniel Marjamäki
b7dcdc00d0
Fixed #7970 (ValueType: no types set below 'new std::string')
2017-04-01 22:22:37 +02:00
Daniel Marjamäki
1dbf485e02
Fix Cppcheck warnings. Remove redundant null pointer check.
2017-04-01 10:51:45 +02:00
PKEuS
ea215c3b7b
Fixed false positives in CheckClass::checkConst() due to unmatched function overloads
...
Fixed function matching if constness mismatches
2017-04-01 10:19:32 +02:00
Daniel Marjamäki
164df2aa7b
Fixed #7966 (ValueType: wrong type for gcc initialization {[1]=..})
2017-03-31 09:41:38 +02:00
Daniel Marjamäki
2da3123db2
Fix ValueType. The '[' in variable declaration is not a dereference.
2017-03-30 11:01:29 +02:00
IOBYTE
7cae057615
Add missing varid or variable for member variables.
...
Add an optional extended description…
2017-03-30 10:07:58 +02:00
PKEuS
3c8f5b85ae
Refactorization: Allocate Token::_values (ValueFlow information) dynamically, reducing size of each token by around 10%
2017-03-27 18:48:34 +02:00
Robert Reif
c96e8daebc
Don't change varid of member variables.
2017-03-25 10:59:35 -04:00
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
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
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
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
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
c638180753
Fixed crash in clang test suite introduced in b27ba72fdd
2017-03-15 19:22:42 +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
Daniel Marjamäki
e560ad1616
update std::string config
2017-03-05 18:19:49 +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
45c5860ca4
Fixed #7926 (Memory Leak with auto not detected)
2017-03-02 22:24:26 +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
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
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
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
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
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
Robert Reif
8e0f1ec788
Fixed #7909 (Crash in CheckMemoryLeakInClass)
2017-02-20 23:09:35 +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
Daniel Marjamäki
7bdd001a5f
SymbolDatabase: Removed redundant 'else'
2017-01-09 22:48:05 +01:00
Simon Martin
bd92ddd386
Ticket #7850 : Properly handle C functions called "class".
2017-01-06 21:16:28 +01:00
Robert Reif
4123b457d7
Fixed #7441 (SymbolDatabase: No scope when function return type not specified)
2017-01-06 11:53:17 +01:00
Daniel Marjamäki
a184d5d421
SymbolDatabase: Refactoring
2017-01-01 11:34:05 +01:00
Daniel Marjamäki
4558701c08
varid: don't generate varid and symboldatabase variable for function call parameter
2016-12-18 20:16:38 +01:00
Daniel Marjamäki
17aaecbd6b
ValueFlow: Improved handling of sizeof
2016-12-18 14:03:48 +01:00
PKEuS
cfac3b457d
Several small refactorizations
2016-12-06 22:12:02 +01:00
PKEuS
6e8ac13325
Refactorization:
...
- Optimized std::string usage
- Replaced list by vector
- Moved iterator into loop head
- Ran AStyle
2016-12-05 17:45:34 +01:00
Daniel Marjamäki
c12cb69cc2
ValueType: Handle function pointers
2016-12-04 16:02:50 +01:00
PKEuS
36d12d7866
SymbolDatabase: Function::retDef should not point at "static" or "extern"
2016-11-28 17:23:39 +01:00
Matthias Krüger
b3ace258ab
there is no need to have "if(tok && Token::Match(tok,..." since Token::Match checks "tok" by itselfs already.
2016-11-26 17:22:30 +01:00
Frank Zingsheim
c8ff96fe8f
Fixed #6180 (Usage of variable after std::move or std::forward)
2016-11-20 15:14:49 +01:00
Daniel Marjamäki
1235815ae9
SymbolDatabase: refactoring condition
2016-11-18 22:01:15 +01:00
Daniel Marjamäki
2f27a0c8f6
Revert "SymbolDatabase: refactoring condition"
...
I don't see why, but this did not work well on appveyor.
This reverts commit 5d7a4d51ad
.
2016-11-17 22:53:03 +01:00
Daniel Marjamäki
79fc332511
Fixed #7810 (SymbolDatabase: method with redundant scope info)
2016-11-17 22:45:50 +01:00
Daniel Marjamäki
5d7a4d51ad
SymbolDatabase: refactoring condition
2016-11-17 22:20:01 +01:00
Daniel Marjamäki
0e9810b7f6
CheckStl: validation of iterators returned from functions
2016-11-01 14:08:42 +01:00
Daniel Marjamäki
f973a9a9d5
SymbolDatabase: Refactoring handling of library-function return type
2016-10-23 23:20:36 +02:00
Daniel Marjamäki
c8f831b70d
Library: Allow that type of function return is specified. Fixes #7668 .
2016-10-23 23:04:15 +02:00
Robert Reif
f25d205999
Fixed #7767 (SymbolDatabase: function not analysed when unknown macros are in front of function definition)
2016-10-22 22:29:18 +02:00
Daniel Marjamäki
c70987b727
ValueType: fix type of integer literals
2016-10-16 11:36:22 +02:00
Robert Reif
bf7ef56ef5
Fixed #7713 (False positive: %hhu in format string (no. 1) requires 'unsigned char' but the argument type is 'signed int'.)
2016-08-26 19:47:36 +02:00
Frank Zingsheim
8c8a534117
SymbolDatabase: stronger type matching
2016-08-21 16:11:23 +02:00
Robert Reif
1dd1f6dd6a
Fixed #7673 ((debug) Executable scope 'foo' with unknown function.)
2016-08-20 17:56:48 +02:00
Daniel Marjamäki
8a66535399
Fixed #7694 (ValueType: 1.23L)
2016-08-20 08:44:53 +02:00
Robert Reif
b56c765a45
Fixed #7703 ((debug) Executable scope 'foo' with unknown function.)
2016-08-20 07:43:15 +02:00
Robert Reif
1e999e0cfe
Fixed #7697 ((debug) Executable scope 'B' with unknown function.)
2016-08-19 19:06:15 +02:00
Robert Reif
73e1378af8
Fixed #7661 (False positive: Function parameter 'e' should be passed by reference.)
2016-08-13 21:25:57 +02:00
Robert Reif
fc1a755100
Fixed #7666 (Executable scope with unknown function.)
2016-08-09 14:02:06 +02:00
Robert Reif
cdfe92b753
Fixed #7657 (False positive: Function parameter 'c' should be passed by reference.)
2016-08-06 10:27:00 +02:00
Robert Reif
55b3f0bf38
Fixed #752 (SymbolDatabase: Does not match function if redundant keywords mismatch (C++))
2016-08-04 09:06:32 +02:00
Dmitry-Me
7f30108f1d
Descriptive variable name
2016-08-03 18:15:08 +03:00
Robert Reif
b40edca62f
Fixed #7387 (SymbolDatabase: Wrong overloaded function is picked)
2016-08-02 23:34:11 +02:00
Robert Reif
b9030bcfcd
Fixed #7650 (SymbolDatabase: Wrong Token::type(), enum and class with same name)
2016-08-02 23:30:46 +02:00
Robert Reif
b44f448acc
Fixed #7649 (SymbolDatabase: Wrong overloaded function is picked for char and wchar_t)
2016-08-02 18:54:01 +02:00
Robert Reif
612e83d5af
SymbolDatabase: Small fix
2016-08-02 14:31:07 +02:00
Robert Reif
891e21b478
Fixed #7458 (SymbolDatabase: Wrong overloaded function is picked)
2016-08-02 08:58:11 +02:00
Daniel Marjamäki
09b6568ea2
Fixed #7646 (podtypes do not get proper valuetype)
2016-07-31 19:47:34 +02:00
PKEuS
fc1603eb9b
MathLib, ValueType: Support integer suffix "i64"
2016-07-26 13:19:53 +02:00
Matthias Krüger
6fd8edd6e5
Symboldatabase::sizeOfType: fix crash; fixes #7615
2016-07-26 01:18:47 +02:00
PKEuS
045116f797
Optimized SymbolDatabase::findVariableType().
2016-07-25 18:33:22 +02:00
PKEuS
2e2800f5bd
Fixed several MSVC warnings
2016-07-24 12:36:36 +02:00
Daniel Marjamäki
a68da1a725
ValueType: Set valuetype for sizeof argument
2016-07-20 09:39:48 +02:00
Daniel Marjamäki
0ddeac0429
refactor (use ast) and improve CheckOther::checkRedundantAssignment (warn about global variables unless they are volatile, handle arrays in lhs better)
2016-07-18 12:43:23 +02:00
PKEuS
801fd8f96a
Support trailing return types (C++11)
2016-07-17 15:47:50 +02:00
Robert Reif
c1594bedbb
Fixed creation of SymbolDatabase for some template code ( #7594 )
2016-07-09 09:22:52 +02:00