Robert Reif
|
c6a804d306
|
add std::*.empty() to possible const functions in CheckClass::checkConstFunc
|
2011-07-30 09:44:20 -04:00 |
Robert Reif
|
74c1bdde77
|
fix #1593 (false negative: the function can be declared as const)
|
2011-07-30 08:48:11 -04:00 |
Robert Reif
|
ca2e8b057b
|
fix #2947 (False positive: member variable is not initialized (a[x::y] = 0;))
|
2011-07-27 12:03:44 -04:00 |
Robert Reif
|
6eecab5d73
|
fix #2807 (Wrong handling of function references when prefixed with &)
|
2011-06-29 07:19:34 -04:00 |
Robert Reif
|
0f6da27b9f
|
fix #2795 (hash operator[] is not 'const') (original patch by Sebastien Debrard) (modified to use the symbol database)
|
2011-06-03 22:00:27 -04:00 |
Robert Reif
|
42316f3e0b
|
fix #2792 (false positive: Member variable 'class::m_val' is not assigned a value in 'class::operator=')
|
2011-05-24 20:25:34 -04:00 |
Robert Reif
|
6abf29bd22
|
fix spelling of initialized in checkclass messages
|
2011-04-26 20:37:16 -04:00 |
Greg Hewgill
|
3fc1db51d1
|
Change symbol database such that the typestart token skips over type modifiers (const/static/mutable).
This fixes checking for the case of a memset() on a static variable.
|
2011-04-23 01:13:23 +12:00 |
Robert Reif
|
79e5d2db15
|
run astyle
|
2011-04-20 19:07:28 -04:00 |
Daniel Marjamäki
|
061eab4d22
|
Virtual destructors: Enabled the check again. I think it is conclusive now. Ticket: #2728
|
2011-04-20 18:03:16 +02:00 |
Daniel Marjamäki
|
e5d43d4ed2
|
Renamed Settings::stupid to Settings::experimental
|
2011-04-10 15:55:08 +02:00 |
Daniel Marjamäki
|
30ee9ba6e4
|
Added Settings::stupid flag that can be used to hide checking that generates false positives.
|
2011-04-10 13:23:45 +02:00 |
Robert Reif
|
77aebd357e
|
Refactoring: add Token::isAssignmentOp and use it in CheckClass::checkConstFunc
|
2011-04-09 14:36:05 -04:00 |
Robert Reif
|
a39444a40f
|
change CheckClass::operatorEqToSelf to make better use of the symbol database
|
2011-03-31 19:53:35 -04:00 |
Robert Reif
|
cf65a73c47
|
fix CheckClass::operatorEq to check return type more closely (to match check description)
|
2011-03-31 19:40:28 -04:00 |
Robert Reif
|
dd5e15b40c
|
output a debug message when a member variable is used that has a varid of 0
|
2011-03-27 14:27:14 -04:00 |
Robert Reif
|
1e1434e191
|
make member variable change detection simpler and more accurate for CheckClass::checkConst
|
2011-03-27 13:59:12 -04:00 |
Robert Reif
|
c27ecf5aeb
|
only break when we know we are inc/dec a member variable in CheckClass::checkConstFunc
|
2011-03-25 23:22:28 -04:00 |
Robert Reif
|
168db82fd6
|
better checking of assignment to array element in CheckClass::checkConstFunc
|
2011-03-25 23:02:13 -04:00 |
Robert Reif
|
f8e1735b0f
|
add support to CheckClass::checkConstFunc for ++/-- array elements
|
2011-03-25 22:37:32 -04:00 |
Robert Reif
|
ca50bc7850
|
move 2 CheckClass helper functions to follow externally called functions so code matches comments
|
2011-03-25 22:21:40 -04:00 |
Robert Reif
|
61e720c82b
|
fix #1288 (Use of memset on struct - nested structs not handled)
|
2011-03-23 21:58:58 -04:00 |
Robert Reif
|
14c07e988e
|
fix pointer/reference check in CheckClass::noMemset symbol database conversion
|
2011-03-22 22:29:39 -04:00 |
Robert Reif
|
5314cc02b2
|
convert remainder of CheckClass::noMemset to use symbol database
|
2011-03-22 22:23:57 -04:00 |
Robert Reif
|
468a983db1
|
use the symbol database to look up base classes in CheckClass::noMemset check
|
2011-03-22 21:24:28 -04:00 |
Robert Reif
|
d36ed9aff1
|
fix #2670 (False positive: function can be const, overloaded functions)
|
2011-03-22 19:23:36 -04:00 |
Robert Reif
|
2277cb6965
|
fix #2663 (False negative: function can be const (changing unknown or uninitialised variable))
|
2011-03-20 13:29:52 -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 |
Robert Reif
|
79f0fe7d1c
|
refactor symbol database and checks to use list of Scope rather than list of Scope pointers
|
2011-03-10 19:43:29 -05:00 |
Greg Hewgill
|
1ec6a642dc
|
Revert "Check for memset on nested structs (ticket #1288)"
Turns out this fix is incomplete.
This reverts commit a084697410 .
|
2011-03-10 20:19:31 +13:00 |
Greg Hewgill
|
a084697410
|
Check for memset on nested structs (ticket #1288)
|
2011-03-09 23:02:49 +13:00 |
Greg Hewgill
|
3883afcbf4
|
Check for memset on objects with virtual functions (ticket #607)
|
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
|
31a18b9b23
|
convert CheckClass::noMemset to use new variable lookup capability
|
2011-02-26 16:00:05 -05: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: #1655
|
2011-02-24 18:38:45 +01:00 |
Robert Reif
|
ba6c2ca310
|
fix #2602 (segmentation fault of cppcheck ( class A {A& operator=(const A&); }; ))
|
2011-02-22 06:47:28 -05:00 |
Robert Reif
|
5984b6b53f
|
fix #2595 (False positive Technically the member function 'A::foo' can be const)
|
2011-02-20 20:01:54 -05:00 |
Robert Reif
|
537ac0cb34
|
use func->start rather than searching for '{' in CheckClass::privateFunctions
|
2011-02-20 08:36:06 -05:00 |
Robert Reif
|
7dd8a3283a
|
fix comment in CheckClass::initializeVarList
|
2011-02-19 20:09:07 -05:00 |
Robert Reif
|
fef1142997
|
fix #2592 (False positive: 'operator=' should return reference to self)
|
2011-02-19 20:02:16 -05:00 |
Daniel Marjamäki
|
227a6100f7
|
astyle formatting
|
2011-02-11 19:31:37 +01:00 |
Robert Reif
|
b8c5426bb8
|
fix #2567 Unused private function when implemented in different file
|
2011-02-11 08:00:41 -05:00 |
Raphael Geissert
|
f8e2d50e6f
|
Use Token::simpleMatch where no special patterns are needed
|
2011-02-02 13:27:02 -06:00 |
Raphael Geissert
|
8d5863133c
|
Use Token::simpleMatch where no patterns are used
|
2011-02-02 13:27:01 -06:00 |
Raphael Geissert
|
cf2b6f7bc1
|
Remove useless spacing at the end of *Match strings
|
2011-02-02 13:27:01 -06:00 |
Greg Hewgill
|
be195a72c9
|
initialise Check::_name in constructor rather than relying on virtual Check::name()
|
2011-02-02 22:58:25 +13:00 |
Daniel Marjamäki
|
524498e439
|
Tokenizer: collapse operator function names into a single token. ticket: #2519
|
2011-01-27 18:44:20 +01:00 |
Daniel Marjamäki
|
1e25d74ba4
|
Class: better check if there are friends. ticket: #2459
|
2011-01-22 17:35:54 +01:00 |
Daniel Marjamäki
|
9551332321
|
Fixed #2459 (False positive with unused private function and friend)
|
2011-01-22 13:00:03 +01:00 |
Robert Reif
|
767e01e24a
|
Fixed #2478 (Crash when trying to analyze files (CheckClass::checkReturnPtrThis))
|
2011-01-21 19:54:41 +01:00 |
Robert Reif
|
d73709a620
|
Symbol database: rename variables. ticket: #2468
|
2011-01-21 07:42:41 +01:00 |
Pete Johns
|
94aafa482c
|
Fixed #2480 (false positive on unused private function)
|
2011-01-19 20:32:08 +11:00 |
Pete Johns
|
ea01c04108
|
Added parenths to fix build breakage.
|
2011-01-18 21:07:33 +11:00 |
Robert Reif
|
8631ee65a3
|
Fixed #2474 (false positive: Member variable 'A::m_SemVar' is not initialised in the constructor.)
|
2011-01-18 07:34:11 +01:00 |
Robert Reif
|
c994508c3e
|
Symbol database: Refactor the variables API. ticket: #2468
|
2011-01-18 07:32:06 +01:00 |
Robert Reif
|
959e10cee5
|
Symbol database: renamed classes. ticket: #2468
|
2011-01-17 18:29:19 +01:00 |
Robert Reif
|
bf9528558e
|
Symbol database: pulled out classes into global scope. ticket: #2468
|
2011-01-17 07:21:59 +01:00 |
Robert Reif
|
d341b42b0c
|
Symbol database: increased constness. ticket: #2468
|
2011-01-16 18:13:54 +01:00 |
Robert Reif
|
66be74a5af
|
Symbol database: Refactorings. Move check-specific code to check. Ticket: #2468
|
2011-01-16 16:37:11 +01:00 |
Daniel Marjamäki
|
a97e28491f
|
Fixed #2407 (False positive: unused private function)
|
2011-01-16 12:16:31 +01:00 |
Robert Reif
|
0f6644e1ea
|
Symbol database: Refactorings
|
2011-01-16 11:18:12 +01:00 |
Reijo Tomperi
|
226b605774
|
Change year 2010 -> 2011 in license texts.
|
2011-01-09 21:33:36 +02:00 |
Daniel Marjamäki
|
033e759c39
|
command line: added 'information' id to enable
|
2011-01-05 21:20:21 +01:00 |
Markus Elfring
|
e459ed1de3
|
Fixed #2389 (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: #2375
|
2011-01-01 17:54:37 +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
|
b6acfa809b
|
Symbol database: creates a single symbol database within Tokenizer on demand and changes all checks to use it
|
2010-12-07 07:08:49 +01:00 |
Robert Reif
|
04b811b74f
|
Fixed #2273 (False Positive: Member variable not initialized in the constructor)
|
2010-12-04 17:47:00 +01:00 |
Robert Reif
|
1bc8a2b6ba
|
Fixed #2172 (False positive: struct is not initialized in constructor)
|
2010-12-02 07:35:01 +01:00 |
Kimmo Varis
|
1a3175741f
|
Fixed #2268 ([GUI] Generic class name is shown for 'Message' while correct one for 'Summary')
|
2010-12-01 17:55:22 +02:00 |
Kimmo Varis
|
87b69a10fa
|
Ticket #2240 (Improve no constructor-message).
Improve the message about missing constructor but having class
attributes. Have proper short and long messages.
|
2010-11-27 10:17:03 +02:00 |
Robert Reif
|
1842a122da
|
reuse symbol database in checkmemoryleak.cpp. ticket: #2219
|
2010-11-23 18:41:07 +01:00 |
Robert Reif
|
27cae2f0d7
|
Symbol database: add global space and add all global functions and variables to it. Ticket: #2198
|
2010-11-20 07:26:50 +01:00 |
Robert Reif
|
77a5d4e399
|
Fixed #2204 (False positive when using const class members)
|
2010-11-16 07:30:55 +01:00 |
Robert Reif
|
6a06970e1b
|
CheckClass: Refactoring - organize each check so the check function comes first, any helper functions come second, and the message functions come last. Ticket: #2198
|
2010-11-14 06:50:33 +01:00 |
Robert Reif
|
894586f4dd
|
Fixed #2198 (SymbolDatabase: separate SymbolDatabase from CheckClass)
|
2010-11-13 07:31:56 +01:00 |
Robert Reif
|
0fffa1f651
|
This patch fixes a bug I introduced in the previous patch. It also speeds up nested class parsing by skipping the entire class implementation using { link to jump to } rather than parsing for }. Ticket: #2172
|
2010-11-12 19:29:20 +01:00 |
Robert Reif
|
4ddf6f3b44
|
Symbol database: code cleanups
|
2010-11-10 16:52:52 +01:00 |
Daniel Marjamäki
|
508c171945
|
Symbol database: add support for class inline functions with classes
|
2010-11-09 17:06:07 +01:00 |
Robert Reif
|
36b03bdd3e
|
Fixed #2179 (Segmentation fault in assignment operator)
|
2010-11-09 06:58:19 +01:00 |
Daniel Marjamäki
|
c2bf3647a4
|
Fixed #2178 (segmentation fault of cppcheck)
|
2010-11-08 19:47:19 +01:00 |
Robert Reif
|
23b50a3d81
|
Symbol database: delay finding class variables until after all classes have been found.
|
2010-11-08 17:12:25 +01:00 |
Robert Reif
|
662cd27f87
|
Symbol database: fixed problem
|
2010-11-06 20:27:12 +01:00 |
Robert Reif
|
0205498a12
|
Symbol database: improved handling of out of line functions returning function pointers
|
2010-11-06 13:31:56 +01:00 |
Robert Reif
|
003f99da82
|
Symbol database: Fixed bug. Ticket: #2149
|
2010-11-04 06:58:37 +01:00 |
Robert Reif
|
cf0403434d
|
Symbol database: Bug fix
|
2010-11-03 20:33:07 +01:00 |
Robert Reif
|
0fe72839d8
|
Symbol Database: Better handling of namespaces. Ticket: #2149
|
2010-11-02 18:30:57 +01:00 |
Daniel Marjamäki
|
9435fde551
|
Tokenizer: Added function for checking if code is Java/C#
|
2010-10-28 18:51:55 +02:00 |
Daniel Marjamäki
|
fee20bafa0
|
Java: Removed bailout added in 120073f000
|
2010-10-28 18:01:51 +02:00 |
Robert Reif
|
b6aca47e11
|
Fixed #1195 (Uninitialized member variable not detected 'std::vector<int> *ints;')
|
2010-10-27 19:28:15 +02:00 |
Robert Reif
|
5a8f490f07
|
Fixed #2135 (False positive 'Can be const')
|
2010-10-27 19:25:34 +02:00 |
Daniel Marjamäki
|
cf86e11d05
|
Fixed #2111 (Class methods writing to a union are detected as 'can be const')
|
2010-10-24 16:43:10 +02:00 |
Daniel Marjamäki
|
120073f000
|
Java: fixed false positives about uninitialized variable
|
2010-10-23 10:56:30 +02:00 |
Daniel Marjamäki
|
6a66d32871
|
JAVA: better handling of java code
|
2010-10-20 22:15:35 +02:00 |
Ettl Martin
|
7d1995dfaa
|
Merge branch 'master' of github.com:danmar/cppcheck
|
2010-10-17 21:56:05 +08:00 |
Daniel Marjamäki
|
92a1e9e76e
|
Severities: Added 'warning' and 'performance' severities. No changes to the command line options nor to the XML format. Ticket: #2106
|
2010-10-17 14:41:00 +02:00 |