Commit Graph

239 Commits

Author SHA1 Message Date
Robert Reif 9c2248254e Here is a patch that adds support for derived structs and fixes a bug that missed some nested structs. (#1493) 2010-03-19 16:17:25 +01:00
Daniel Marjamäki c7bd437d7d astyle formatting 2010-03-19 16:12:51 +01:00
Daniel Marjamäki 95d22de690 Fixed #1508 (false positive : uninitialized variable) 2010-03-18 19:23:38 +01:00
Robert Reif 5ea7e32bf9 Partial fix for #1493 (false positives: function can be const and struct or union member is never used) 2010-03-18 18:14:52 +01:00
Daniel Marjamäki e911d1f1df doxygen updates 2010-03-17 22:16:18 +01:00
Robert Reif b3856cbc5e Fixed #1506 (typedef name hiding check combined with forward declaration leeds to false positive) 2010-03-17 17:31:08 +01:00
Daniel Marjamäki 12c45a1aba Fixed #1476 (false positive: Uninitialized variable) 2010-03-16 19:53:09 +01:00
Daniel Marjamäki 382e41d92a Fixed #1494 (Improve Tokenizer::simplifyKnownVariables to handle for loops better) 2010-03-14 09:57:34 +01:00
Daniel Marjamäki 772aa95c8a Fixed #1477 (false positive: Uninitialized variable when pointer given to struct) 2010-03-13 11:52:48 +01:00
Kimmo Varis d1bbcf1734 Implement Win32 FileLister as separate class.
Improve the system used to have separate versions of code of FileLister for
Win32 and Linux. New idea is to have Base FileLister class implementing
common code and then derived classes for Win32 and Linux specific code.

FileLister is not anymore a static class. Instead we use singleton of
derived class.
2010-03-11 21:58:59 +02:00
Daniel Marjamäki 587081cab5 Fixed #1488 (Invalid warning about shadowed variable) 2010-03-10 16:47:39 +01:00
Daniel Marjamäki 770d2ff835 Simplify enum: Fixed segmentation fault if code ends with enum type id 2010-03-07 13:01:56 +01:00
Daniel Marjamäki fa493b7fd1 Fixed #1474 (segmentation fault of cppcheck) 2010-03-07 12:50:45 +01:00
Reijo Tomperi b88126a669 Fix #1469 (False positive: Resource leak when fclose() is inside while)
http://sourceforge.net/apps/trac/cppcheck/ticket/1469
2010-03-06 16:28:52 +02:00
Daniel Marjamäki fe30c1ca9d Fixed #1432 (false positive: uninitialized variable) 2010-03-06 13:48:43 +01:00
Reijo Tomperi 237fdbc653 Fix #1454 (False positive: arrayindexoutofbounds, static member sharing local name)
http://sourceforge.net/apps/trac/cppcheck/ticket/1454
2010-03-06 14:35:04 +02:00
Daniel Marjamäki d643bbe864 simplify templates: show debug message when bailout out 2010-03-04 18:20:08 +01:00
Daniel Marjamäki b55a7f2815 SimplifyTemplates: some simple refactoring so template name is properly seen. If it's not properly handled then bailout. Related with #1464 2010-03-04 17:34:14 +01:00
Reijo Tomperi d881fd7a31 Partial fix #1464 (takes too long (days) to process some files)
Fix template functions that return "&T".
http://sourceforge.net/apps/trac/cppcheck/ticket/1464
2010-03-03 23:02:32 +02:00
Reijo Tomperi 75c0ed7e6e Add simple debug print to make it possible to detect cases where template simplification goes wrong.
http://sourceforge.net/apps/trac/cppcheck/ticket/1464
2010-03-02 23:55:05 +02:00
Daniel Marjamäki 248b6aa159 cleanup: removed unused variables 2010-02-28 07:38:07 +01:00
Daniel Marjamäki 6ca4b008d0 null pointer: Fixed better error message for 'possible null pointer' + removed redundant check in our Tokenizer. 2010-02-28 07:26:50 +01:00
Daniel Marjamäki 50210857a6 Fixed #1439 (false positive: memory leak when using realloc) 2010-02-27 19:41:14 +01:00
Daniel Marjamäki c9ff53fbed Refactoring error messages 2010-02-27 17:06:33 +01:00
Daniel Marjamäki a8ee4a03f0 Fixed #1456 (PATCH: Variable hides typedef with same name false positive) 2010-02-27 07:27:51 +01:00
Daniel Marjamäki ce0131a1e6 Fixed #1397 (false positive: Memory leak in while loop) 2010-02-26 22:14:56 +01:00
Robert Reif 54bf67e766 Fixed #1456 (PATCH: Variable hides typedef with same name false positive) 2010-02-26 21:43:00 +01:00
Robert Reif f4d600e93b Fixed #1457 (PATCH: Variable hides enumerator with same name false negative) 2010-02-26 21:40:57 +01:00
Daniel Marjamäki 377d3091a9 Fixed #1452 (Simplify goto better) 2010-02-25 20:03:39 +01:00
Robert Reif f9d444ed52 Fixed #1445 (segfault in Tokenizer::simplifyRedundantParanthesis()) 2010-02-25 07:24:32 +01:00
Robert Reif 7d8adfb4df Fixed #1449 (segmentation fault of cppcheck) 2010-02-24 17:50:02 +01:00
Robert Reif d9df3d5c6e Fixed #1434 (### Internal error in Cppcheck. Please report it.) 2010-02-23 22:12:55 +01:00
Daniel Marjamäki 459a3bac50 Fixed #1396 (false positive: Resource leak) 2010-02-21 09:47:41 +01:00
Daniel Marjamäki 7a72932078 Tokenizer: simple simplification of array sizes 2010-02-20 18:13:09 +01:00
Daniel Marjamäki e4cc8cf1a0 Fixed #1395 (false positive: Possible null pointer dereference) 2010-02-20 15:50:44 +01:00
Daniel Marjamäki ccef1d6eb5 Fixed #1424 (false positive: unintialized variable) 2010-02-20 13:24:50 +01:00
Daniel Marjamäki 084b21494a Fixed #1422 (false positive: uninitialized variable) 2010-02-20 11:43:53 +01:00
Robert Reif 24628013f1 Fixed #1427 (new check: check for typedef name hiding) 2010-02-20 09:07:29 +01:00
Daniel Marjamäki 57f63f65c2 Borland C++: Fixed compiler errors (operands must be same type) 2010-02-20 08:53:33 +01:00
Robert Reif 5c6ec0364d Fixed #1411 (### Internal error in Cppcheck. Please report it.) 2010-02-18 07:24:24 +01:00
Robert Reif deb71fc566 Fixed #1405 (false positive: operator = should return reference to itself) 2010-02-17 22:42:08 +01:00
Robert Reif f15c408f13 Fixed #1388 (enum token/template parameter confusion - False positive) 2010-02-16 07:33:23 +01:00
Daniel Marjamäki 9394816fcf Refactoring: Use std::string instead of const char * 2010-02-14 19:58:17 +01:00
Reijo Tomperi b52fa9451f Fix #1385 (False positive: unsigned division)
http://sourceforge.net/apps/trac/cppcheck/ticket/1385
This also fixes a bug in setVarId(). "unsigned int a" didn't get varid,
untill later when unsigned was simplified away.
2010-02-12 22:24:06 +02:00
Reijo Tomperi 45abd2d7fc Fix #1366 (void Tokenizer::simplifyTemplates() --> Abort)
http://sourceforge.net/apps/trac/cppcheck/ticket/1366
2010-02-09 00:16:12 +02:00
Daniel Marjamäki 8853f304af Fixed #1364 (False positive: (error) Possible null pointer dereference) 2010-02-08 18:25:08 +01:00
Daniel Marjamäki cd5b95849d Fixed #1361 (### Internal error in Cppcheck. Please report it) 2010-02-07 15:00:19 +01:00
Daniel Marjamäki fb09b2fd37 Fixed #1356 (Double-False positive: uninitialized variable) 2010-02-07 13:34:39 +01:00
Daniel Marjamäki 1b0c81a24b Tokenizer: Fixed bug in setVarId. functions should never have a variable id 2010-02-07 13:04:33 +01:00
Daniel Marjamäki ed8f3bc806 Fixed #1362 (Internal error when using ?-operator and nested {}) 2010-02-07 09:14:59 +01:00
Daniel Marjamäki 93bb1c0174 astyle formatting 2010-02-06 23:51:29 +01:00
Daniel Marjamäki 0a31e5e3ee Fixed #1352 (false positive: uninitialized variable) 2010-02-06 16:51:32 +01:00
Robert Reif b78845174d Fixed #1355 (Fixed enum bug when expression contain comma) 2010-02-06 09:49:56 +01:00
Robert Reif 6cbfc5f894 Fixed #1351 (add expression support to simplifyEnum) 2010-02-05 07:37:17 +01:00
Daniel Marjamäki 0ba665d77f Fixed #1337 (Division by zero with __alignof__()) 2010-02-03 21:23:44 +01:00
Daniel Marjamäki d3b5889f88 Fixed #1345 (Not initialised variables warning missing in classes with dllexport) 2010-02-03 20:01:56 +01:00
Robert Reif f2eac901c0 Fixed #1343 (simplifyTypedef doesn't support deeply nested classes) 2010-02-03 07:58:36 +01:00
Daniel Marjamäki 4ec94116f5 Fixed #1341 (false positive 'uninitialized variable' when using Exception specifications) 2010-02-02 19:56:41 +01:00
Robert Reif b704fc7bc7 Fixed #1339 (add nested struct support to simplifyEnum and simplifyTypedef) 2010-02-01 19:59:24 +01:00
Robert Reif 64afcc8179 Fixed #1338 (simplify typedefs with global and nested namespace) 2010-01-31 21:46:18 +01:00
Daniel Marjamäki 1375a60e3f Fixed #1004 (improve check: Unintialized variable not detected when using a reference (&)) 2010-01-31 16:29:12 +01:00
Daniel Marjamäki 1a59e1bc68 Tokenizer: remove redundant assignments and variables 2010-01-31 09:52:19 +01:00
Daniel Marjamäki e15a16eb15 Tokenizer: Remove redundant assignments and variables 2010-01-31 09:33:57 +01:00
Daniel Marjamäki e1efad0c27 Tokenizer: remove the keyword 'inline' 2010-01-31 08:11:29 +01:00
Robert Reif d17d199415 Tokenizer: fix for multiple array definitions for a single typedef 2010-01-31 07:16:19 +01:00
Robert Reif 630d9ba552 Fixed #1326 (remove simplified enum definitions) 2010-01-31 07:13:09 +01:00
Robert Reif 7cbdb9f8a1 Fixed #1331 (simplify typedef of complex arrays) 2010-01-30 19:41:22 +01:00
Daniel Marjamäki 8716c771a4 Tokenizer: improved the simplifyInitVar 2010-01-30 14:25:11 +01:00
Daniel Marjamäki 3b08712930 Fixed #1005 (improve check: nullpointer dereference not found when it is initialized with NULL-cast) 2010-01-30 09:33:16 +01:00
Robert Reif 882e2225e0 Fixed 1329 (simplify typedef of function pointer returning template) 2010-01-30 08:00:11 +01:00
Daniel Marjamäki f9d5fb3191 Fixed #1327 (False positive: Redundant code: Found a statement that begins with numeric constant) 2010-01-29 22:28:49 +01:00
Reijo Tomperi 1d5ba4e320 Improved updateClassList(), but not yet took it into use.
findClassFunction is now non-static.
updateClassList usage is currently commented out as it doesn't handle class inside a function
2010-01-29 23:22:18 +02:00
Daniel Marjamäki 53f514fc5c Tokenizer: Fixed const simplification 2010-01-29 19:34:43 +01:00
Robert Reif 19bb2940cc Fixed #1325 (Segmentation fault in simplifyTypedef due to bad preprocessing) 2010-01-29 16:00:48 +01:00
Robert Reif fc54ed1eef Fixed #1326 (remove simplified enum definitions) 2010-01-29 15:57:26 +01:00
Robert Reif 45b6b9e5a1 Fixed #1316 (### Internal error in Cppcheck. Please report it.) 2010-01-27 19:03:24 +01:00
Robert Reif 8be8c266ac Fixed #1313 (unnamed enums not simplified properly) 2010-01-25 07:45:16 +01:00
Robert Reif 989e8393e4 Fixed #1307 (Internal error with typedef in parameter list) 2010-01-24 22:40:35 +01:00
Daniel Marjamäki 65881b9346 Fixed #1238 (False Negative : memory leak with template class) 2010-01-24 20:04:09 +01:00
Daniel Marjamäki 6d9740adea Tokenizer: Fixed Tokenizer::simplifyKnownVariable bug when the variable is re-assigned in a loop 2010-01-24 19:27:39 +01:00
Reijo Tomperi 24052c16b4 Fix some style errors found from our own code. 2010-01-23 23:44:08 +02:00
Reijo Tomperi 7817d5b142 Fix #1279 (Change error message: Invalid number of character ({). Can't process file.)
http://sourceforge.net/apps/trac/cppcheck/ticket/1279
2010-01-23 23:18:11 +02:00
Daniel Marjamäki 8a9eba980b Function pointers: re-enabled the simplifyFunctionPointers 2010-01-23 07:43:12 +01:00
Robert Reif 13ca2510cc Fixed #1298 ((error) ### Internal error in Cppcheck. Please report it. (typedef in fun proto)) 2010-01-22 20:26:07 +01:00
Daniel Marjamäki 1552c0f7f2 Fixed #1276 (False Uninitialized variable when using goto) 2010-01-22 20:20:43 +01:00
Robert Reif 9f853cb164 Fixed #1297 (typedef causes internal error in vlc/modules/access/imem.c) 2010-01-22 17:27:40 +01:00
Daniel Marjamäki d4b13eee9f Fixed #1290 (1.40: Internal error) 2010-01-21 20:05:32 +01:00
Robert Reif 9f0b9551cf This patch simplifies the function pointer return type code and allows more complex return types. 2010-01-21 18:01:09 +01:00
Robert Reif e9e64033e7 Improved typedef simplification of function pointers 2010-01-21 07:51:08 +01:00
Daniel Marjamäki 3447030564 Merge branch 'master' of git@github.com:danmar/cppcheck 2010-01-20 21:19:32 +01:00
Daniel Marjamäki 96359b14ff Simplify function pointers 2010-01-20 21:19:06 +01:00
Robert Reif e163f878ab Handle/simplify function pointer typedefs 2010-01-20 21:16:40 +01:00
Reijo Tomperi b83d257852 Fix #1296 (false positive: index out of bounds)
http://sourceforge.net/apps/trac/cppcheck/ticket/1296
2010-01-20 21:26:54 +02:00
Robert Reif cd31cd9298 Fixed #1251 (tokenize typedef of reference) 2010-01-18 19:06:50 +01:00
Robert Reif 70dbb8ba17 Fixed #1275 (Cppcheck hangs when analysing the code 'typedef struct { } A, *B, **C;') 2010-01-17 08:16:17 +01:00
Daniel Marjamäki fbefb8df34 Fixed #1272 (links in typedef not handled correctly) 2010-01-16 19:42:37 +01:00
Daniel Marjamäki 0a8ca1f160 Fixed #1271 (SIGSEGV on malformed source (macro stub + fundef)) 2010-01-16 13:56:57 +01:00
Robert Reif a0caea4ee6 Refactoring the handling of typedefs 2010-01-16 09:18:21 +01:00
Reijo Tomperi d37864f8c4 Fix part of #1262 (cppcheck false positives: 'Possible null pointer dereference'
http://sourceforge.net/apps/trac/cppcheck/ticket/1262
2010-01-15 23:46:47 +02:00
Robert Reif 0212225859 Tokenizer: fixed typedef issues 2010-01-13 07:59:47 +01:00