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 |
PKEuS
|
44a19b527e
|
Use ValueFlow and SymbolDatabase to detect buffer overflows with new and malloc, improving support for enums (#7576)
|
2016-07-08 20:53:08 +02:00 |
Robert Reif
|
eca805ba3b
|
ValueFlow: Fixed constant folding of sizeof(enum) and sizeof(enumerator) (#7564)
|
2016-07-08 20:39:34 +02:00 |
Robert Reif
|
583b340034
|
enum: set the return type of derived class functions returning enums defined in a base class.
|
2016-06-05 14:08:33 +02:00 |
Robert Reif
|
f4dd43a71a
|
Fixed #7523 (Scope::findEnumerator(): does not find enum constant from other enum type)
|
2016-05-29 14:45:45 +02:00 |
Daniel Marjamäki
|
2417f72c5e
|
Silence Travis
|
2016-05-26 18:31:52 +02:00 |
Daniel Marjamäki
|
54be403f64
|
Fixed #7026 (Cppcheck does not recognizes the use of a variabile inside lambda function)
|
2016-05-26 18:07:56 +02:00 |
Daniel Marjamäki
|
38741868b5
|
Fixed #3989 (false positive: memory leak (inline function))
|
2016-05-26 17:42:27 +02:00 |
Daniel Marjamäki
|
8b088a472f
|
SymbolDatabase: Refactoring
|
2016-05-26 12:04:18 +02:00 |
Daniel Marjamäki
|
f45233682e
|
SymbolDatabase: Code cleanup
|
2016-05-26 12:00:03 +02:00 |
Robert Reif
|
66cacde3db
|
Fixed #7513 (value flow of array dimension with enum doesn't always work)
|
2016-05-26 11:25:50 +02:00 |
PKEuS
|
c7b3836379
|
Small refactorizations:
- Optimized performance of several functions by adding pre-checks
- Simplified some code
- Fixed VS warning in testsymboldatabase.cpp
|
2016-05-25 15:30:49 +02:00 |