Refactorizations:
- Rearranged members of Value to reduce structures size
- Removed redundant ctor of Value
- Fixed VS warning in tokenize.cpp
Fixed remaining issue in #3503: Member function taking a function pointer must not be "simplified" to a variable initialization
Fixed handling of member function pointers in setVarId and SymbolDatabase (#4577)
Save "->" in Token::originalName if simplified to "."; Fix false positive #4890.
Fixed #5397 (False positive: Same expression on both sides of '&')
MathLib::isNullValue(): Fixed bug in detecting zero values. Improved test coverage of MathLib::IsNullValue().
Symbol database: tweaked tests
Refactorized iterator checking:
- Fixed false positive #5669
- Use symboldatabase in CheckStl::pushback()
- Improved support for erase on std::vector and find
Support "else if" and do-loop in CheckStl::checkDereferenceInvalidIterator()
Refactorized CheckStl::redundantCondition():
- Use symboldatabase
- Support erase() method
Refactorization: Replaced several Token::findmatch calls by symboldatabase usage
Refactorization: Removed whitespaces at the end of a token
Removed a redundant 'void'
Refactorized CheckStl::pushback():
- Use method from CheckNullPointer to find pointer dereference
- Replaced indendation counter by symboldatabase usage
Ran dmake
#5300 - Invalid encoding in XML output (use escape sequence string for non-printable characters)
Fixed crashes random crashes in multithreading caused by useless creation of CheckUnusedFunctions instance per thread.
#5592 - crash: gcc: testsuit: gcc.c-torture/compile/limits-declparen.c (Limit stack depth below createAst()
Fixed #5602 (false positive on std::vector - after unknown macro around the function header)
#5592 (fix implementation detail to avoid warnings from cppcheck)
Simplified check registration:
- Use sorted insert instead of calling std::list<Check*>::sort() on each insertion
- Removed DJGPP/__sun hack in check.h (should be obsolete by our compiler requirements for C++11