Cppcheck
Todo List
Member CheckClass::checkReturnPtrThis (const Scope *scope, const Function *func, const Token *tok, const Token *last, std::set< const Function * > &analyzedFunctions)
make sure argument types match
Member CheckClass::initializeVarList (const Function &func, std::list< const Function * > &callstack, const Scope *scope, std::vector< Usage > &usage) const

false negative: just bail

false negative: we assume function changes variable state

false negative: just bail

False Negative: we should look at the base class functions to see if they call any derived class virtual functions that change the derived class state

Member CheckIO::ArgumentInfo::ArgumentInfo (const Token *arg, const Settings &settings, bool _isCPP)
add non-string literals, and generic expressions
Member CheckMemoryLeakStructMember::checkStructVariable (const Variable *const variable) const

Check how the struct is used. Only bail out if necessary

check if the function deallocates the memory

check if the function deallocates the memory

Member CheckUnusedFunctions::check (const Settings &settings, ErrorLogger &errorLogger) const
add error message "function is only used in <file> it can be static"
Member CheckUnusedVar::isRecordTypeWithoutSideEffects (const Type *type)
false negative: check constructors for side effects
Class CsvReport
This class should be inherited from TxtReport?
Member doAssignment (Variables &variables, const Token *tok, bool dereference, const Scope *scope)
determine if existing aliases should be discarded
Member isAutoDealloc (const Variable *var)
false negative: check constructors for side effects
Member simplifyPathWithVariables (std::string &s, std::map< std::string, std::string, cppcheck::stricmp > &variables)
generate a debug/info message about undefined variable
Member SymbolDatabase::createSymbolDatabaseFindAllScopes ()

check entire qualification for match

handle friend functions

Member TemplateSimplifier::simplifyTemplateInstantiations (const TokenAndName &templateDeclaration, const std::list< const Token * > &specializations, const std::time_t maxtime, std::set< std::string > &expandedtemplates)
It seems that inner templates should be instantiated recursively
Member Tokenizer::simplifyTypedefCpp ()

add support for union

add support for multi-token operators

add support for multi-token operators