1646 Commits

Author SHA1 Message Date
Daniel Marjamäki
29a49d0641 removed some redundant null pointer checks before calling Token::Match 2014-09-14 11:35:04 +02:00
Simon Martin
53b58f0ed9 Refactoring. Use Token::Match instead of hardcoded patterns to increase readability. 2014-09-14 11:26:16 +02:00
Simon Martin
4b750997cb Ticket : Report a syntax error for invalid enum initializers. 2014-09-13 20:46:53 +02:00
Dmitry-Me
961a1b65ae Merge partially duplicate patterns 2014-09-12 19:10:41 +04:00
Matthias Krüger
323fd1b3dc tokenize.cpp: fix internal warning: Found simple pattern inside Token::Match() call: ") :" 2014-09-08 22:00:57 +02:00
Frank Zingsheim
8c5013adda Fixed 2014-09-07 21:53:32 +02:00
Daniel Marjamäki
db929ffd19 Fixed CID 1037074. Useless null pointer check. Created ticket . 2014-09-07 13:50:55 +02:00
PKEuS
35b00a5e05 Support rValue references in typedef () 2014-09-06 19:00:26 +02:00
Simon Martin
eeeb816db9 Ticket : Simplify "new (type)" constructs into "new type" to avoid confusion upon certain input. 2014-09-05 08:02:18 +02:00
PKEuS
8c24553229 Support inherited member variables in setVarId () 2014-09-04 22:22:09 +02:00
PKEuS
a52401cf1b Fixed some compiler warning about signed/unsigned conversions. 2014-09-02 11:44:51 +02:00
PKEuS
3e65cb446e Remove "auto" keyword (storage class specifier) from C++03 and C code (). 2014-09-02 11:21:47 +02:00
PKEuS
80df3dc642 Disabled several checks and simplifications for C code, if they are C++-only. Do not match arguments for C code, since there can't be overloads. 2014-09-01 18:43:24 +02:00
Dmitry-Me
9199dde560 Move declarations closer to where they're first used 2014-09-01 10:05:59 +04:00
PKEuS
3ccdae78ba Support __declspec(property) () 2014-08-31 20:17:18 +02:00
PKEuS
6a4319f050 Improved simplifications:
- Rearranged their order to solve problems with typedefs. If we simplify chained declarations before typedef parsing, we have less complex expressions to deal with ().
- Fixed detection of variables hiding enums
2014-08-26 15:21:19 +02:00
PKEuS
2326e78381 Fixed : Don't detect class with unknown macro as variable.
Commented out crashing unit test tokenize33() in VS12
2014-08-26 10:40:00 +02:00
amai2012
e02741c82c Crash on template code below Tokenizer::setVarId(). Fix several crashes with same location. 2014-08-26 09:12:10 +02:00
Dmitry-Me
67ea470275 Break loop early, cleanup declarations 2014-08-24 20:17:41 +02:00
PKEuS
7f2be2f57c Fixed template bracket linkage in while loop simplification
Ran AStyle
2014-08-23 12:28:54 +02:00
PKEuS
c678937538 Fixed more false positives of :
- Implemented nextArgument() for usages before < and > are linked
- slightly optimized nextArgument()
2014-08-20 15:02:52 +02:00
PKEuS
5d50e7e9ae Changed heuristics to detect variable constructor initialization syntax () 2014-08-19 11:06:52 +02:00
PKEuS
eac2d58c9e Fixed fix for 2014-08-18 20:40:43 +02:00
Dmitry-Me
120e8c0674 Make loop termination more explicit. 2014-08-18 14:00:25 +04:00
PKEuS
e7754be316 Fixed - properly detect member functions in setVarId() 2014-08-18 11:07:56 +02:00
PKEuS
5c54f8d0d8 Support namespaces and static member variables in setVarId (only one depth) () 2014-08-18 10:25:30 +02:00
Daniel Marjamäki
a52c122229 Tokenizer::createLinks2: set no template-links in 'if (a < b || c > d)' 2014-08-17 19:03:06 +02:00
Daniel Marjamäki
5cdbe0f42d ValueFlow: Improved value flow after for loop 2014-08-17 10:40:22 +02:00
Daniel Marjamäki
75ec97ad23 Tokenizer::simplifyKnownVariables: Fixed bad simplification in for loop header 2014-08-17 07:39:42 +02:00
Daniel Marjamäki
65f10edcb6 Fixed (False negative: useless condition or null pointer dereference (null object after while loop, method)) 2014-08-16 18:32:25 +02:00
PKEuS
e4b55cf843 Fixed a bug and two warnings introduced recently. 2014-08-06 13:35:39 +02:00
PKEuS
adcc8b1634 Implement support for __attribute__((used)) () 2014-08-06 11:13:58 +02:00
PKEuS
fd5ff1bb8b Fixed false positive : inheriting classes is not a variable declaration. 2014-08-06 09:04:03 +02:00
PKEuS
83a80cebeb Fixed order of simplifications () 2014-08-06 08:39:23 +02:00
PKEuS
f3e0df7501 Support C++11 style initialization with {}:
-> Support in setVarId and SymbolDatabase ()
-> Fixed false positives in unused variable checking (, )

Side-effect: Support global variables initialized with brackets (C++03 style) in SymbolDatabase
2014-08-05 15:33:57 +02:00
Daniel Marjamäki
4dc73e3a5b Use Token::simpleMatch for simple pattern 2014-08-01 17:47:02 +02:00
Daniel Marjamäki
3f5da22d2b Tokenizer: Added FIXME for keywords handling 2014-08-01 17:27:35 +02:00
Daniel Marjamäki
a943a0739a Tokenizer: Don't remove struct member in Tokenizer::simplifyKeyword() 2014-08-01 17:19:08 +02:00
Dmitry-Me
dc03b98e60 Run cheaper check first, don't check the same condition twice. 2014-07-28 14:58:19 +04:00
Dmitry-Me
431453f53e Reuse previously computed values, use more const. 2014-07-25 15:05:13 +04:00
Daniel Marjamäki
2e60f30bfc Merge pull request from Dmitry-Me/dontUseArrayAtWhenItWouldntThrow
Use [], not at() when the index is guaranteed to be valid.
2014-07-23 14:15:42 +02:00
Daniel Marjamäki
c5e9da2984 xml dump: add more token attributes 2014-07-21 12:44:53 +02:00
Dmitry-Me
cd13232062 Use [], not at() when the index is guaranteed to be valid. 2014-07-21 10:37:08 +04:00
Daniel Marjamäki
328cc7b8f5 Fixed (false positive: Clarify calculation precedence for '+' and '?'.) 2014-07-19 18:29:53 +02:00
Daniel Marjamäki
946c139043 Merge pull request from Dmitry-Me/fixVariableCapitalization
Fix variable capitalization.
2014-07-18 11:15:17 +02:00
Alexander Mai
55e45add4a Fix compiler warnings 2014-07-17 20:04:56 +02:00
Dmitry-Me
f995f67a11 Fix variable capitalization. 2014-07-17 12:38:09 +04:00
Daniel Marjamäki
b1e5b015df xml dump: output some more info in the dump 2014-07-16 15:27:13 +02:00
orbitcowboy
af6f21308f Tokenizer: Added missing comma in string array initialization (This fixes Coverity-ID: 1226263 Missing comma in a string array initialization). 2014-07-12 12:52:49 +02:00
orbitcowboy
6e5a05104b Fixed copy and paste error (Coverity-ID: 1226262 Copy-paste error). 2014-07-12 12:48:05 +02:00