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
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
ecc59859e1
Don't simplify _Bool in TokenList
2017-03-04 11:13:28 +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
e1e9eacccc
ValueFlow: Added float type
2016-11-13 22:59:56 +01:00
Daniel Marjamäki
4732667488
ValueFlow: allow more value types
2016-11-13 22:33:39 +01:00
orbitcowboy
960a0c6b11
Token: Improved const correctness of findsimplematch() and findmatch(). There are no functional changes.
2016-10-29 21:37:45 +02:00
Boris Egorov
0154d39bf6
Show struct member in unsignedLessThanZeroError warning
...
Before:
[/tmp/test.c:8]: (style) Checking if unsigned variable '.' is less than zero.
[/tmp/test.c:12]: (style) Checking if unsigned variable '.' is less than zero.
After:
[/tmp/test.c:8]: (style) Checking if unsigned variable 'd.n' is less than zero.
[/tmp/test.c:12]: (style) Checking if unsigned variable 'd.n' is less than zero.
2016-09-22 08:03:30 +07:00
Daniel Marjamäki
a65ae3ce2e
Token: Allow dollar sign in identifiers
2016-07-29 13:42:11 +02:00
Daniel Marjamäki
b9443771fb
cleanup tests
2016-07-18 10:42:03 +02:00
Daniel Marjamäki
dc2a92263a
Fixed #7426 (RFC: time to replace simplifyEnum?)
2016-04-22 06:02:54 +02:00
PKEuS
b801386ac8
Fixed bug in Token::findClosingBracket() and broken unit test ( #7277 )
2016-02-04 10:00:54 +01:00
PKEuS
e063e97831
Fixed bug in Token::swapWithNext(): swap _link correctly
2016-02-02 17:47:36 +01:00
PKEuS
d8b75e3492
Fixed several bugs when deleting and swapping tokens
2016-02-02 17:30:14 +01:00
PKEuS
4b9241f643
Removed support for patterns like |a|b and a||b (equal to a|b|)
...
-> Improved performance by 1,3% (non-matchcompiled build)
2016-02-02 11:46:42 +01:00
Daniel Marjamäki
95009a4630
Merge pull request #745 from lanurmi/2016_ad
...
Update copyright year to 2007-2016.
2016-01-01 22:57:19 +01:00
Lauri Nurmi
996c9244d8
Update copyright year to 2007-2016.
2016-01-01 15:34:45 +02:00
Daniel Marjamäki
1e0979779e
Print type information in AST dump
2016-01-01 13:54:07 +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
81f0597316
Fixed #3206 and #7226 (New check: Undefined execution order)
2015-12-24 09:13:20 +01:00
PKEuS
18693a7fce
Refactorized token.cpp:
...
- Removed redundant overload of Token::insertToken()
- Fixed leak in Token::deleteThis()
- Moved condition out of loop in Token::tokAt()
2015-12-14 22:04:51 +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
Alexander Mai
e69377d5a8
#7183 CheckClass::checkMemset() uint overflow. Plus some minor refactoring
2015-12-05 18:22:01 +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
Daniel Marjamäki
0f9d90d2be
Changed Copyrights. Removed my name.
2015-11-18 20:04:50 +01:00
PKEuS
636bf75799
Fixed crash on garbage code ( #7074 )
2015-10-26 13:29:47 +01:00
PKEuS
0370c66e41
Fixed broken function Token::getCharAt() ( #7073 )
2015-10-26 11:51:05 +01:00
Philipp Kloke
a837cc48e0
Refactorization: Simplified code in tokenlist.cpp, token.cpp and testthreadexecutor.cpp
2015-10-19 09:01:20 +02:00
Daniel Marjamäki
40fffddb83
avoid some fixes for noisy signedness warnings
2015-10-11 12:36:23 +02:00
PKEuS
50ed47c725
Fixed crash on garbage code ( #7022 )
2015-10-07 13:52:06 +02:00
Daniel Marjamäki
9b253612ca
SymbolDatabase: Add type information in AST
2015-10-04 19:42:58 +02:00
PKEuS
fbbdfa85ca
Revert "Fixed false negative #5815 "
...
This reverts commit dc6c278d83
.
2015-09-09 14:46:47 +02:00
PKEuS
dc6c278d83
Fixed false negative #5815
2015-08-31 14:12:19 +02:00
Daniel Marjamäki
436d7b6d59
Merge pull request #655 from Dmitry-Me/explicitConstCastBetterNames
...
Use const_cast to add const, better variable name
2015-08-27 17:04:07 +02:00
Dmitry-Me
c760ccee13
Use const_cast to add const, better variable name
2015-08-27 17:14:33 +03:00
PKEuS
2ace3d3144
Rewritten handling of declaration specifiers:
...
- Removed simplifyConst() because it did the opposite of the (superior) simplifyStaticConst()
- Execute simplifyStaticConst() in simplifyTokenList1() - there is no reason to defer it, and it is required to properly parse declarations like "unsigned static int i;"
- Fixed simplifyStaticConst() to handle more patterns. It did not work at the beginning of the token list and for function arguments
- Reimplemented Tokenizer::simplifyStdType()
-> properly support all possible ways to declare integers as requested by the standard, instead of only a few common permutations of "unsigned|signed", "short|char|long|int"
-> Fixed parsing of _Complex/complex types
2015-08-27 14:34:17 +02:00
PKEuS
4d80df2f4a
Added pointer to Type to Token (similar to Token::Variable() and Token::function()):
...
- Accessible via Token::type()
- Renamed former Token::type() to Token::tokType()
- Removed SymbolDatabase::isClassOrStruct()
2015-08-15 11:19:21 +02:00
Daniel Marjamäki
6865724c4e
Fixed #6914 (Token::expressionString: parenthesis missing in expression (*it)->stats.corpse_ticks)
2015-08-12 10:55:25 +02:00
Daniel Marjamäki
e598b07a6d
Moved functions to astutils
2015-08-03 09:20:50 +02:00
Daniel Marjamäki
251f6d2a15
Fixed #6898 (Token::expressionString: wrong output when first token is post-incremented)
2015-07-31 07:03:52 +02:00
Daniel Marjamäki
ae124cb365
ValueFlow: Attempt to make --debug output easier to understand by using words
2015-07-26 16:32:31 +02:00
Daniel Marjamäki
9197e70a8d
ValueFlow: Changed --debug output so we can see if a variable is known or possible
2015-07-26 15:36:09 +02:00
PKEuS
8ed0180279
Use C++11 string.back() instead of string[string.length()-1]
2015-07-25 17:19:53 +02:00
Daniel Marjamäki
e5151a13ab
Fixed #6867 (False positive memleak)
2015-07-25 11:37:03 +02:00
Daniel Marjamäki
b2b4bb49fa
Refactoring handling of comparisons
2015-07-22 12:31:18 +02:00
Daniel Marjamäki
2e2735518e
AST: Updated printAst
2015-07-21 11:54:11 +02:00
Alexander Mai
b604d63dd8
#6726 cppcheck hangs with 100% CPU load (invalidcode) inside Token::astOperand2(). #6840 egmentation fault (invalid code) in Token::astOperand2. Improve stability on invalid code
2015-07-15 15:19:48 +02:00
Alexander Mai
b30d9ffe98
#6838 cppcheck hangs on some strange input code. Token::astOperand1/2 throw internal error on garbage code instead of creating endless recursion in AST
2015-07-14 21:07:10 +02:00
Alexander Mai
6e03e7dca2
Remove some code checking for invalid class hierarchy which got obsolete since 480a5672b0
. Run astyle
2015-07-01 07:50:13 +02:00
amai2012
99dfd55d0c
#6804 segmentation fault (invalid code) in Token::getValueTokenDeadPointer. Fix null pointer access
...
TestGarbage: Increase coverage by running all code snippets as C as well as C++ code. (inspired by #6800 )
2015-06-30 19:40:22 +02:00