Commit Graph

201 Commits

Author SHA1 Message Date
Slava Semushin 2ec5438186 Fixed #954 (Tokenizer: correctly simplify sizeof of class members)
http://sourceforge.net/apps/trac/cppcheck/ticket/954
2009-11-14 01:07:44 +06:00
Daniel Marjamäki b2cec721c0 Fixed #951 (Preincremented struct member confused with numeric constant) 2009-11-12 22:16:24 +01:00
Reijo Tomperi d2db4d3a27 Test case for #903 (segmentation fault of cppcheck)
http://sourceforge.net/apps/trac/cppcheck/ticket/903
2009-11-12 21:04:11 +02:00
Daniel Marjamäki 0c8d327809 Fixed #907 (Tokenizer: known result of strlen) 2009-11-07 08:25:39 +01:00
Daniel Marjamäki 58c54d2ed4 Fixed #898 (Tokenizer: remove unneeded const after *) 2009-11-05 21:30:05 +01:00
Reijo Tomperi de4ca924b5 Fixed #896 (False positive with --all when return value of open() is positive in a loop)
http://sourceforge.net/apps/trac/cppcheck/ticket/896
2009-11-05 00:58:15 +02:00
Daniel Marjamäki 3e4dd22eed fixed todo testcase 2009-11-01 21:00:43 +01:00
Reijo Tomperi 618eed3d59 Fixed segmentation fault.
Had to change one test case to TODO for now.
2009-11-01 21:49:43 +02:00
Daniel Marjamäki 319cdc2b43 Fixed #880 (Tokenizer: The Tokenizer::simplifyTemplates doesn't handle recursive templates) 2009-11-01 19:03:52 +01:00
Daniel Marjamäki fec7acdc27 Templates: Better handling of recursive templates 2009-11-01 15:56:00 +01:00
Daniel Marjamäki a337708ae5 Fixed #430 (Tokenizer: handle templates with partial specialisation) 2009-10-31 12:34:52 +01:00
Reijo Tomperi 4a61bd0432 Fix #870 (The CheckClass::getVarList method detects 'const' as a variable name.)
http://sourceforge.net/apps/trac/cppcheck/ticket/870
2009-10-29 21:54:51 +02:00
Reijo Tomperi 59acfbc4df Fix #863 (false positive memset array of pointers)
http://sourceforge.net/apps/trac/cppcheck/ticket/863
Also fix test cases for 64 bit systems.
2009-10-27 20:23:45 +02:00
Daniel Marjamäki 09859c1019 refactoring the folder structure 2009-10-25 12:49:06 +01:00
Daniel Marjamäki 88070b044b Fixed #851 (Tokenizer: sizeof(*a) returns incorrect result) 2009-10-22 23:00:27 +02:00
Daniel b80a954f55 Fixed #844 (Tokenizer: Simplify 'sizeof *ptr' correctly) 2009-10-21 21:08:00 +02:00
Reijo Tomperi 9d42194562 Fix #767 (Tokenizer: Known variable variable not simplified)
http://sourceforge.net/apps/trac/cppcheck/ticket/767
2009-10-20 23:58:46 +03:00
Daniel Marjamäki 50e542c183 Fixed #827 (Tokenizer: sizeof is incorrectly simplified) 2009-10-18 18:06:32 +02:00
Daniel Marjamäki 2ec1b676ea Pointer Aliasing: Handle pointer aliasing through the Tokenizer::simplifyKnownVariables 2009-10-17 18:21:13 +02:00
Slava Semushin 237dcb9533 Fixed #809 (Tokenizer: don't replace sizeof() of unknown type to zero)
http://sourceforge.net/apps/trac/cppcheck/ticket/809
2009-10-10 19:26:03 +07:00
Reijo Tomperi 8fc21dda27 Fix #801 (Tokenizer: Simplify sizeof for function parameters)
http://sourceforge.net/apps/trac/cppcheck/ticket/801
2009-10-07 12:05:44 +03:00
Reijo Tomperi 06dd66bff4 Fix #487 (Tokenizer: Simplify sizeof for string array and string pointer)
http://sourceforge.net/apps/trac/cppcheck/ticket/487
2009-10-07 11:08:53 +03:00
Reijo Tomperi 8472e58413 Refactored sizeof simplification and fixed one TODO assert. 2009-10-07 10:54:34 +03:00
Reijo Tomperi 2e69d50458 Fix #796 (segmentation fault while scanning)
http://sourceforge.net/apps/trac/cppcheck/ticket/796
2009-10-06 21:03:15 +03:00
Reijo Tomperi c55140d4cd Fix #580 (double free not found)
http://sourceforge.net/apps/trac/cppcheck/ticket/580
2009-10-06 12:44:53 +03:00
Reijo Tomperi 13fbd616da Moved some test cases from testtokenize into testsimplifytokens and added one TODO case. 2009-10-06 12:40:50 +03:00
Reijo Tomperi edb28d2856 Fix #365 (Improve simplifyQuestionMark() in tokenize.cpp)
http://sourceforge.net/apps/trac/cppcheck/ticket/365
2009-10-05 17:34:38 +03:00
Reijo Tomperi 036f3894f1 Fix simplifyRedundantParanthesis() to work after '}' 2009-10-05 14:30:05 +03:00
Reijo Tomperi 5a0a5422c3 Fix #776 (Tokenizer: remove useless brackets around variable assignment)
http://sourceforge.net/apps/trac/cppcheck/ticket/776
2009-10-05 14:22:35 +03:00
Reijo Tomperi fc684d7b5a Fix #778 (Tokenizer: impove simplification inside if())
http://sourceforge.net/apps/trac/cppcheck/ticket/778
2009-10-05 14:10:09 +03:00
Reijo Tomperi 8bb812548c Fix #777 (Tokenizer: double casting simplified incorrectly)
http://sourceforge.net/apps/trac/cppcheck/ticket/777
2009-10-05 00:12:12 +03:00
Reijo Tomperi 498beb7d9a Fix #784 (Tokenizer: Simplify 2[a] -> a[2])
http://sourceforge.net/apps/trac/cppcheck/ticket/784
2009-10-04 23:33:41 +03:00
Daniel Marjamäki ee1bcb728c use '<' comparisons instead of '>' (#610) 2009-10-04 07:51:12 +02:00
Slava Semushin b0d8b6ca8b Fixed #780 (Tokenizer: replace typedef for pointers to struct)
http://sourceforge.net/apps/trac/cppcheck/ticket/780
2009-10-03 22:02:23 +07:00
Reijo Tomperi 39092150e2 Fix #763 (Tokenizer: Goto incorrectly simplified)
http://sourceforge.net/apps/trac/cppcheck/ticket/763
2009-10-01 10:25:32 +03:00
Reijo Tomperi f9871c2d54 Fix #745 (false positive: possible null pointer dereference , while)
http://sourceforge.net/apps/trac/cppcheck/ticket/745
2009-09-30 21:42:14 +03:00
Reijo Tomperi 7852d38f54 Fix #761 (Tokenizer: typedef inside class is incorrectly simplified)
http://sourceforge.net/apps/trac/cppcheck/ticket/761
2009-09-30 14:35:00 +03:00
Reijo Tomperi bb1a9a07e4 Fix #760 (Tokenizer: Goto not simplified)
http://sourceforge.net/apps/trac/cppcheck/ticket/760
2009-09-30 14:30:53 +03:00
Reijo Tomperi 500dedb8a3 Added TODO test cases: simplifyTypedef, simplifyTypedef2, simplifyTypedef3 2009-09-30 10:11:09 +03:00
Reijo Tomperi fdde2182b9 Fix GPL comments in all files. ">." was missing from the end. 2009-09-27 18:08:31 +03:00
Reijo Tomperi d1f3953cce Fix #720 (String length for strings like this "\x61" is calculated wrong)
http://sourceforge.net/apps/trac/cppcheck/ticket/720
2009-09-27 17:04:10 +03:00
Slava Semushin 313479cf8d Tokenizer::simplifySizeof(): use Token::getStrLength().
Fixed wrong result when string contains escaped quotes.

Correction for 0e729fedc0 commit.
2009-09-23 23:02:53 +07:00
Daniel Marjamäki 0e729fedc0 Fixed #716 (segmentation fault: sizeof string) 2009-09-22 20:50:00 +02:00
Reijo Tomperi 0fff5a23bf Fix #701 (false positive: Invalid deallocation)
http://sourceforge.net/apps/trac/cppcheck/ticket/701
2009-09-20 23:38:32 +03:00
Reijo Tomperi 55fc473a00 Fix #684 (Tokenizer: (65536*72/100) incorrectly simplified to zero)
http://sourceforge.net/apps/trac/cppcheck/ticket/684
2009-09-15 23:38:54 +03:00
Daniel Marjamäki 020321769c Fixed #658 (Assertion 'begin != __null' failed) 2009-09-14 21:49:41 +02:00
Slava Semushin d16a0b7a80 TestSimplifyTokens::sizeof_(): don't append leading space.
No functional change.
2009-09-13 17:59:59 +07:00
Slava Semushin 0fb89f8afa Fixed #645 (Tokenizer::simplifyCasts() breaks link() if casts function)
http://sourceforge.net/apps/trac/cppcheck/ticket/645
2009-09-13 17:31:32 +07:00
Reijo Tomperi 241f585d34 Fix #594 (division by zero not detected when using atol or atof)
http://sourceforge.net/apps/trac/cppcheck/ticket/594
Simplify atol("0") into 0 (and other atol() calls also)
2009-09-12 23:54:47 +03:00
Daniel Marjamäki 7479b943cc Fixed #644 (Tokenizer::simplifyComma: Wrong simplification in cast) 2009-09-12 08:12:00 +02:00
Reijo Tomperi 908aaff1fa New test case in TestSimplifyTokens::template_default_parameter 2009-09-09 23:57:28 +03:00
Reijo Tomperi ed425158d9 astyle fix 2009-09-06 15:12:38 +03:00
Slava Semushin c1958054af Added test cases for #487. 2009-09-06 18:29:39 +07:00
Daniel Marjamäki 535fe17ffd Templates: Scaled up the handling of default values for template parameters (#638) 2009-09-06 08:22:45 +02:00
Reijo Tomperi 75a65a02a8 Fix another issue related to #647 (Crash during tokenizing (wrong) K&R function declaration)
http://sourceforge.net/apps/trac/cppcheck/ticket/647
2009-09-05 23:41:39 +03:00
Reijo Tomperi a3d9863725 Fix #647 (Crash during tokenizing (wrong) K&R function declaration)
http://sourceforge.net/apps/trac/cppcheck/ticket/647
Thanks to undingen for providing a patch
2009-09-05 22:21:25 +03:00
Slava Semushin a9273c9d39 Fixed #629 (Tokenizer: expand nested strcat() calls)
http://sourceforge.net/apps/trac/cppcheck/ticket/629
2009-09-05 23:46:27 +07:00
Daniel Marjamäki 7a9e4a7bd4 templates: remove typename tokens 2009-09-03 22:19:44 +02:00
Daniel Marjamäki 2719724a97 templates: Quick fix for the problem with default value for a template argument 2009-09-03 21:46:07 +02:00
Daniel Marjamäki 401f8aaa96 Templates: Added todo testcase for handling default values for template arguments. Related with ticket #638 2009-09-02 22:54:50 +02:00
Reijo Tomperi fc343b3e9e astyle fix 2009-08-29 23:33:12 +03:00
Slava Semushin 085187b445 Tokenizer: enhance simplifyNot() and rename to simplifyLogicalOperators().
Don't replace "and" everything becuse it may be used as variable name.

Better fix for #620
Corrections for commit eb05cf904d
2009-08-29 20:42:14 +07:00
Slava Semushin eb05cf904d Fixed #620 (Tokenizer: replace "and" by "&&")
http://sourceforge.net/apps/trac/cppcheck/ticket/620
2009-08-29 19:26:01 +07:00
Slava Semushin ae413a1ef0 Fixed #618 (Tokenizer: Wrong handling of enum)
http://sourceforge.net/apps/trac/cppcheck/ticket/618
2009-08-29 16:42:42 +07:00
Daniel Marjamki cbc237c37b fixed failed assertions when running the testrunner 2009-08-28 17:05:25 +02:00
danmar 4f6b79b761 Fixed #625 (cppcheck dumps core on valid code) 2009-08-28 12:57:29 +02:00
danmar bb2bda0be4 Fixed #622 (Tokenizer: Calculations are wrong) 2009-08-28 12:13:46 +02:00
Daniel Marjamäki 9bdd1def58 added testcase for the Tokenizer::simplifyGoto 2009-08-26 18:54:28 +02:00
Daniel Marjamäki f94aab35e7 Fixed #498 (Tokenizer: simplify 'goto') 2009-08-26 18:46:56 +02:00
Daniel Marjamäki c25e1963b1 Fixed #498 (Tokenizer: simplify 'goto') 2009-08-24 23:10:12 +02:00
Reijo Tomperi 9d1907be66 Fix ticket #600 (Tokenizer: if(!(fclose(fd) == 0)) is simplified incorrectly)
http://sourceforge.net/apps/trac/cppcheck/ticket/600
2009-08-20 22:37:05 +03:00
Slava Semushin 1fd2c0ff28 Fixed ticket #572 (Tokenizer: improve detection of arrays)
http://sourceforge.net/apps/trac/cppcheck/ticket/572
2009-08-09 15:16:37 +07:00
Reijo Tomperi d719606201 Fixed ticket #564 (set variable id for "struct ABC **p")
http://sourceforge.net/apps/trac/cppcheck/ticket/564
2009-08-07 00:31:39 +03:00
Reijo Tomperi 80953633ee Fix ticket #563 (set variable id for **p)
http://sourceforge.net/apps/trac/cppcheck/ticket/563
2009-08-06 23:11:29 +03:00
Daniel Marjamäki 1c59e4a51b Fixed #528 (Tokenizer: Simplify: 'if(!(a->x=b()))') 2009-08-05 19:45:05 +02:00
Daniel Marjamäki 706ba34a6d Refactoring the unit testing 2009-08-04 21:32:14 +02:00
Slava Semushin ed86eda07d Fixed ticket #549 (Tokenizer: improve calculation simplification)
http://sourceforge.net/apps/trac/cppcheck/ticket/549
2009-08-02 15:45:33 +07:00
Reijo Tomperi 2fa3b4ce60 Added more tests to test case TestSimplifyTokens::ifassign1 2009-07-30 01:39:28 +03:00
Reijo Tomperi b56fdb83da Fixed ticket #529 (Tokenizer: simplify if((x==0)))
http://sourceforge.net/apps/trac/cppcheck/ticket/529
2009-07-30 00:37:01 +03:00
Slava Semushin c8caefa94c Fixed ticket #519 (Tokenizer converts commas in for-loops)
http://sourceforge.net/apps/trac/cppcheck/ticket/519
2009-07-28 23:40:15 +07:00
Slava Semushin 600f3a834d Fixed ticket #514 (false positive:: memory leak when using comma near delete[])
http://sourceforge.net/apps/trac/cppcheck/ticket/514
2009-07-28 02:13:08 +07:00
Reijo Tomperi 358aa5be8d Improve test case TestSimplifyTokens::comma_keyword 2009-07-27 00:08:18 +03:00
Daniel Marjamäki b4a6d74e42 astyle formatting 2009-07-26 22:13:08 +02:00
Slava Semushin a73346e889 Fixed ticket #496 (Tokenizer: simplify statements with "," better)
https://sourceforge.net/apps/trac/cppcheck/ticket/496
2009-07-26 18:03:11 +07:00
Daniel Marjamäki 9136d8cf80 Tokenizer: simplify return statements - remove redundant parantheses 2009-07-24 21:55:35 +02:00
Daniel Marjamäki 024778d6eb tokenizer: simplify '?:' better when the condition is always true 2009-07-23 10:12:02 +02:00
Daniel Marjamäki 1d514e1afe Fixed #497 (Templates are not expanded correctly) 2009-07-22 13:29:42 +02:00
Daniel Marjamäki 2ccc01f5ed tokenizer: improved the Tokenizer::simplifyIfNot 2009-07-18 10:18:46 +02:00
Daniel Marjamäki 69b1df3bb8 tokenizer: simplify the '?:' operator 2009-07-14 12:06:38 +02:00
Daniel Marjamäki f4de77cefc simplify tokens: simplify test cases 2009-07-14 11:37:26 +02:00
Daniel Marjamäki 17008879ac minor refactoring: header cleanup. use forward declarations instead of includes 2009-07-13 19:11:31 +02:00
Daniel Marjamäki 0ea09b1cb6 templates: simplified a todo test case by removing a redundant function from the code 2009-07-08 09:38:59 +02:00
Reijo Tomperi e858ab2f0d Fix ticket #457 (False positive: Member variable not assigned a value in copy constructor)
http://sourceforge.net/apps/trac/cppcheck/ticket/457
Simplify "a = 0, b = 0;" into "a = 0; b = 0;"
2009-07-05 21:29:09 +03:00
Reijo Tomperi 290aefaa3d TODO Test case TestSimplifyTokens::remove_comma added 2009-07-04 18:06:25 +03:00
Reijo Tomperi 26358debcf Fix ticket #448 (false positive:: resource leak)
http://sourceforge.net/apps/trac/cppcheck/ticket/448
Tokenizer improved to simplify "if( (p)==-1 )"
2009-07-03 21:57:44 +03:00
Daniel Marjamäki 453a5cdd47 Fixed ticket #411 (false positive: resource leak in while loop) 2009-06-20 13:58:30 +02:00
Daniel Marjamäki 03944f1b96 Tokenizer: Fixed problem when simplifying casts 2009-06-19 19:25:56 +02:00
Reijo Tomperi e8d1905e6d Fix ticket #418 (delete a,b; not tokenized correctly)
http://sourceforge.net/apps/trac/cppcheck/ticket/418
2009-06-19 00:00:16 +03:00
Daniel Marjamäki af7c63155e Fixed #387 (Templates: template functions that return a pointer are not simplified correctly)
* Fixed so that the tokenizer handle variable declarations better when the variable is assigned the return value of a template function
 * Fixed so that the simplifyTemplates detect that a template function is used when its return value is taken
2009-06-14 14:57:47 +02:00
Daniel Marjamäki be52e573f3 Fixed ticket #387 (Templates: template functions that return a pointer are not simplified correctly) 2009-06-14 11:28:25 +02:00