310 Commits

Author SHA1 Message Date
Robert Reif
d36ed9aff1 fix (False positive: function can be const, overloaded functions) 2011-03-22 19:23:36 -04:00
Robert Reif
2277cb6965 fix (False negative: function can be const (changing unknown or uninitialised variable)) 2011-03-20 13:29:52 -04:00
Robert Reif
41d80b5c8d fix (False negative: function can be const (using type from another namespace)) 2011-03-20 12:53:37 -04:00
Robert Reif
1de35c168d fix (segmentation fault of cppcheck ( gcc-testsuite: return f(){} )) 2011-03-17 20:10:56 -04:00
Robert Reif
7e04ea0859 fix removal of throw() from const functions 2011-03-16 19:54:52 -04:00
Robert Reif
47531dd99c fix (segmentation fault of cppcheck ( {} const const )) 2011-03-15 22:33:14 -04:00
Greg Hewgill
fa868e44ae Support use of 'this->' when checking operator=() return type 2011-03-15 20:19:30 +13:00
Robert Reif
27f4b8b88b Convert CheckClass::noMemset to use the symbol database to lookup types. This adds better support for namespaces and nested classes. 2011-03-12 22:41:21 -05:00
Greg Hewgill
1ec6a642dc Revert "Check for memset on nested structs (ticket )"
Turns out this fix is incomplete.

This reverts commit a084697410bac0e08324236e78185a0c1a8a92ff.
2011-03-10 20:19:31 +13:00
Greg Hewgill
a084697410 Check for memset on nested structs (ticket ) 2011-03-09 23:02:49 +13:00
Greg Hewgill
3883afcbf4 Check for memset on objects with virtual functions (ticket ) 2011-03-09 22:10:39 +13:00
Greg Hewgill
70b4076111 refactor noMemset so it recursively checks parent classes for non-memset-compatible things 2011-03-09 21:29:30 +13:00
Robert Reif
f596a6959e code cleanup and add more tests to CheckClass::noMemset() 2011-02-24 19:59:50 -05:00
Chuck Larson
db7ce1c13c memset: using memset on struct/class that has std::string member variable. ticket: 2011-02-24 18:38:45 +01:00
Robert Reif
5f84272a52 fix segfault: (cppcheck hangs with 100% cpu load ( class A : )) 2011-02-21 14:25:35 -05:00
Robert Reif
5984b6b53f fix (False positive Technically the member function 'A::foo' can be const) 2011-02-20 20:01:54 -05:00
Robert Reif
fef1142997 fix (False positive: 'operator=' should return reference to self) 2011-02-19 20:02:16 -05:00
Robert Reif
e6eb160395 fix [B#2589 (segmentation fault of cppcheck (struct B : A)) 2011-02-19 14:38:00 -05:00
Daniel Marjamäki
53aaf22633 CheckClass::noMemset: Added TODO test case 2011-02-16 21:31:35 +01:00
Robert Reif
2aefa5deb5 fix (segmentation fault of cppcheck) 2011-02-12 15:35:48 -05:00
Daniel Marjamäki
26f017e9c6 scripts: added tabs.pl - in my opinion it is bad to use tabs inside string constants. spaces or \t should be used instead. 2011-02-05 12:53:28 +01:00
Robert Reif
c592ccd35d Fixed (segmentation fault of cppcheck) 2011-02-05 08:59:59 +01:00
Robert Reif
f87056fca3 Fixed (segmentation fault of cppcheck) 2011-02-04 20:19:49 +01:00
Robert Reif
8288c28b3f Fixed (segmentation fault of cppcheck) 2011-02-03 07:57:10 +01:00
Pete Johns
098f0bf3e6 Fixed (Make TODO_ASSERT_EQUALS take three arguments (value, to_be, as_is)?...
Removed replaced EXPECTED with...

WANTED (to-be):     The future expected value.
CURRENT (as-is):    Documenting how cppcheck behaves now.

This removes the need for an ASSERT_EQUALS but enforces the check for every TODO_ASSERT_EQUALS.
2011-01-30 23:20:11 +11:00
Daniel Marjamäki
524498e439 Tokenizer: collapse operator function names into a single token. ticket: 2011-01-27 18:44:20 +01:00
Robert Reif
767e01e24a Fixed (Crash when trying to analyze files (CheckClass::checkReturnPtrThis)) 2011-01-21 19:54:41 +01:00
Pete Johns
38c37ad2d8 Moved array declaration detection into isVariableDeclaration() 2011-01-17 08:36:52 +11:00
Robert Reif
0f6644e1ea Symbol database: Refactorings 2011-01-16 11:18:12 +01:00
Robert Reif
79b9939610 Fixed (False positive: not initialised variable, but there is default constructor for it.) 2011-01-15 07:59:37 +01:00
Reijo Tomperi
226b605774 Change year 2010 -> 2011 in license texts. 2011-01-09 21:33:36 +02:00
Robert Reif
5f078da7ad Fixed (segmentation fault of cppcheck) 2011-01-07 18:58:14 +01:00
Robert Reif
03a484554c Fixed (false positive: Member variable not initialized in constructor calling assignment operator) 2011-01-06 07:56:34 +01:00
Daniel Marjamäki
033e759c39 command line: added 'information' id to enable 2011-01-05 21:20:21 +01:00
Markus Elfring
e459ed1de3 Fixed (mistakable warning from 'CheckClass::uninitVarError') 2011-01-03 19:03:42 +01:00
Daniel Marjamäki
3c238882a2 Fixed TODO testcase. Use symbol database instead of token list. Ticket: 2011-01-01 17:54:37 +01:00
Pete Johns
502cfe7243 Fixed ("The function 's::f' can be const" reported for pointer-to-pointer)
Moved check for pointer variables into isVariableDeclaration()

Can now handle multiple scopes and multiple levels of indirection. Simplified check for strucs and unions, too, reducing the size of getVarList().

skipScopeIdentifiers() and skipPointers() should probably be methods on class Token.
2010-12-31 22:12:32 +11:00
Pete Johns
5d0ace3a50 Fixed (Technically the member function xxx can be const)
TODO: Add unit test for getVarList() and refactor variable check.

[Removed my testcase for  and removed two TODOs.]
2010-12-30 17:56:28 +11:00
Ettl Martin
ac42c0ba3b const correctness: added further testcases for increment/decrement member functions 2010-12-30 02:05:44 +01:00
Ettl Martin
7b92378c3a ticket 2377: added further testcases 2010-12-30 01:44:46 +01:00
Ettl Martin
c29824fc49 added todo testcase for ticket 2377 Technically the member function xxx can be const 2010-12-30 01:29:09 +01:00
Robert Reif
3f1f50e970 simplifyTypedef: operator typedef. Ticket: 2010-12-29 20:22:06 +01:00
Daniel Marjamäki
3853f93b34 TestClass: addon for 12f28507, fix a few more error messages. 2010-12-27 08:22:21 +01:00
Kimmo Varis
12f2850777 Improve the message about const function.
See discussion thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2010-12-26 23:44:03 +02:00
Daniel Marjamäki
be46d453c4 Information: Added new severity 2010-12-22 19:53:17 +01:00
vBm
46a11183a5 Fixed some spelling mistakes 2010-12-15 18:45:53 +01:00
Robert Reif
980a90071c Fixed (Improve check: Function can be const) 2010-12-07 19:42:30 +01:00
Robert Reif
c20b8831ee Fixed (False Positive: Member variable not initialized in the constructor) 2010-12-04 20:24:13 +01:00
Robert Reif
04b811b74f Fixed (False Positive: Member variable not initialized in the constructor) 2010-12-04 17:47:00 +01:00
Robert Reif
2cd8bc74cc Symbol database: The symbol database has a bug where it can find an out of line constructor when looking for a destructor. Ticket: 2010-12-03 07:35:06 +01:00