Daniel Marjamäki
a705815a51
updated version to 1.37
2009-09-22 20:57:24 +02:00
Daniel Marjamäki
0e729fedc0
Fixed #716 (segmentation fault: sizeof string)
2009-09-22 20:50:00 +02:00
Slava Semushin
610529ab69
Tokenizer::createLinks(): fixed typo in comment.
...
Since commit 1c01dd64f3
.
2009-09-22 23:36:12 +07:00
Daniel Marjamäki
ad92aa4c20
Fixed #715 (False positive: Resource leak when exit() after if loop)
2009-09-22 18:09:29 +02:00
Daniel Marjamäki
faac5bccd6
Fixed #702 (If you see this, there is a bug - varid was 0)
2009-09-22 17:49:13 +02:00
Reijo Tomperi
4d2a8608a8
Fix #706 (false positive: invalid number of character ((), can't process file)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/706
2009-09-21 23:27:06 +03: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
1c01dd64f3
Fix #703 (Tokenizer: Create links for [])
...
http://sourceforge.net/apps/trac/cppcheck/ticket/703
2009-09-20 23:13:06 +03:00
Reijo Tomperi
2dc1fe5dc1
astyle fix
2009-09-20 22:42:43 +03:00
Daniel Marjamäki
d287a8e1d2
Version: 1.36
2009-09-20 14:14:01 +02:00
Slava Semushin
7236230228
Additional fix for better simplifying array declaration.
...
Pointed out by hyd_danmar@ in IRC.
Addressed to #696
2009-09-20 18:28:56 +07:00
Slava Semushin
5dee65048f
Fixed #690 (False positive: (possible error) Buffer overrun)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/690
2009-09-20 17:54:19 +07:00
Slava Semushin
58a9e05697
Fixed #696 (Tokenizer: Simplify array declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/696
2009-09-20 17:28:15 +07:00
Reijo Tomperi
003e27c10e
Fix #667 (Preprocessor does not handle macro inside macro correctly)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/667
2009-09-20 00:09:05 +03:00
Daniel Marjamäki
7f2ca357b0
Fixed #673 (False positive: null pointer dereference when dynamic cast is used)
2009-09-19 10:54:10 +02:00
Slava Semushin
4c30ab0b88
Token::stringifyList(): removed const modifier from parameter.
...
const useless in this case because argument passed by value.
No functional change.
2009-09-19 14:16:01 +07:00
Slava Semushin
5ab6c6cf80
Preprocessor: document that removeComments() may throws exception.
...
No code change.
2009-09-19 13:30:54 +07:00
Daniel Marjamäki
8f96c1992a
Fixed #688 (False positive in error category when --all is used)
2009-09-19 08:23:10 +02:00
Daniel Marjamäki
14c45c2118
Preprocessor: Skip BOM
2009-09-18 19:42:06 +02:00
Daniel Marjamäki
e4291a5966
Fixed #676 (The scope of variable can actually not be limited)
2009-09-17 21:05:12 +02:00
Daniel Marjamäki
1dc738b1ae
Fixed #677 (False positive: Unused private function produced by class member initialization)
2009-09-16 23:04:13 +02:00
Daniel Marjamäki
c5368581d9
Fixed by #675 (false positive: when operator is overloaded)
2009-09-16 20:07:03 +02: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
5efedf85d6
Fixed #671 (False positive. Leak when loop is before exit)
2009-09-15 22:26:38 +02:00
Daniel Marjamäki
36c7108a28
Fixed #669 (possible style without --all + false positives)
2009-09-15 20:46:47 +02:00
Daniel Marjamäki
020321769c
Fixed #658 (Assertion 'begin != __null' failed)
2009-09-14 21:49:41 +02:00
Reijo Tomperi
2b6955dde5
Fix #670 (Tokenizer: Simplify '\0' into 0)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/670
2009-09-14 21:42:56 +03:00
Daniel Marjamäki
e3119235e0
Tokenizer: Added a simple validation function that we can use during debugging
2009-09-13 15:35:37 +02:00
Daniel Marjamäki
62bdf032ac
simplifyTemplates: assert that braces and parantheses are handled correctly
2009-09-13 15:00:48 +02:00
Slava Semushin
fc7413e43d
Token::getStrLength(): fixed errors from valgrind.
...
Correction for 13b2edd61e
commit.
2009-09-13 17:50:21 +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
Slava Semushin
13b2edd61e
Token::getStrLength(): use Token::strValue().
...
No functional change.
2009-09-13 15:03:28 +07:00
Slava Semushin
1617abf053
Token::strValue(): added const modifier.
...
Correction for 241f585d34
commit.
No functional change.
2009-09-13 15:02:59 +07:00
Slava Semushin
eb6b5cfce6
Tokenizer::simplifyMathFunctions(): change return type to void.
...
Correction for 241f585d34
commit.
No functional change.
2009-09-13 14:53:15 +07:00
Daniel Marjamäki
c0ca375ef7
Fixed #478 (Warnings in Visual Studio build with -W4)
2009-09-13 09:03:48 +02: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
5df28c51c6
memory leaks: minor refactorings
2009-09-12 21:13:47 +02:00
Daniel Marjamäki
f4b6c822d3
Fixed #375 (new check: Detect when using 'this-x')
2009-09-12 15:25:02 +02:00
Daniel Marjamäki
ab4a7fdef2
Fixed #518 (False positive for leaks when function from err()-family used)
2009-09-12 14:11:17 +02:00
Daniel Marjamäki
7479b943cc
Fixed #644 (Tokenizer::simplifyComma: Wrong simplification in cast)
2009-09-12 08:12:00 +02:00
Daniel Marjamäki
37dae83e06
More Fixing of #635 (Preprocessor: remove 'asm(...)')
2009-09-11 23:34:24 +02:00
Reijo Tomperi
ed1c9bed49
Fix ticket #632 (Mathlib isInt() identifies "330L" as not int)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/632
2009-09-11 23:46:59 +03:00
Daniel Marjamäki
8837e0dcff
Simple fix for #635 (preprocessor: remove 'asm(...)')
2009-09-11 21:22:41 +02:00
Reijo Tomperi
9828117aff
Fixed some "is passed by value" errors from cppcheck source.
2009-09-10 22:22:57 +03:00
Reijo Tomperi
a6c809226e
Fix #656 (Improve const-correctness)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/656
Applied slightly modified patch from elfring
2009-09-10 00:25:58 +03:00
Daniel Marjamäki
48846c008d
Fixed #650 ('possible style' pre-incrementing error shown without --all)
2009-09-08 21:41:11 +02:00
Daniel Marjamäki
80bf406a97
Settings: Added an 'append' command line flag that allows the user to provide extra information about functions. See ticket #260
2009-09-08 19:49:05 +02:00
Slava Semushin
572c206755
Refactoring: move code for sizeof() simplification to method.
...
Introduce and use Tokenizer::simplifySizeof() method.
No functional change.
2009-09-06 18:23:17 +07:00
Slava Semushin
587e96322d
Tokenizer(simplifyNestedStrcat): correctly set line numbers for new tokens.
...
Pointed out by aggro80@ in IRC. Thanks!
2009-09-06 17:33:55 +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
Reijo Tomperi
7af4ac4282
New command line argument added --template
...
Fix ticket #462 (Allow using template to customize output format)
http://sourceforge.net/apps/trac/cppcheck/ticket/462
2009-09-05 22:01:49 +03:00
Slava Semushin
195cc9aae9
Fixed #585 (Preprocessor: Don't check the same configuration twice)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/585
2009-09-06 00:01:57 +07: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
Aleksey Palazhchenko
d9d2f53df6
Added top-level 'check' target.
...
Also refactored all. pro files by the way. :)
2009-09-04 22:59:25 +04:00
Reijo Tomperi
23c07dd2b8
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-09-03 23:36:42 +03:00
Reijo Tomperi
7408674017
Fix #601 (Poor var initialization assumption when can't find function definition)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/601
Fix #641 ((style) Member variable not initialized in the constructor: False Positive)
http://sourceforge.net/apps/trac/cppcheck/ticket/641
This fix will also cause us not to detect several potential issues, but as there are so many
false positives, any unknown function call should stop the error for now. New
ticket is created to handle regression caused by this:
http://sourceforge.net/apps/trac/cppcheck/ticket/643
2009-09-03 23:28:00 +03:00
Daniel Marjamäki
7a9e4a7bd4
templates: remove typename tokens
2009-09-03 22:19:44 +02:00
Reijo Tomperi
a4190bc590
Fix ticket #642 (txx (template implementation files) not recognized/checked.)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/642
2009-09-03 23:04:38 +03: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
Reijo Tomperi
686ff425f9
Fix ticket #637 (False positive, Using 'memset' on struct that contains a 'std::string')
...
http://sourceforge.net/apps/trac/cppcheck/ticket/637
2009-09-02 23:51:07 +03:00
Reijo Tomperi
8ab26e85cf
Don't warn about division by zero if zero if floating point number.
...
Fix bug from mathlib isInt() and add test case from which few are false positives
2009-09-01 22:06:46 +03:00
Daniel Marjamäki
93659bbe08
memory leaks: fixed a todo testcase to find more leaks
2009-09-01 20:12:53 +02:00
Daniel Marjamäki
9a47b7110e
memory leaks: fixed todo testcases to find more memory leaks
2009-09-01 20:02:28 +02:00
Slava Semushin
ca053bf8f9
CheckMemoryLeakInFunction: print simplified tokens only with --debug and --verbose.
...
Suggested by aggro80@ and approved by hyd_danmar@ in IRC.
2009-09-02 00:54:40 +07:00
Slava Semushin
92f436b474
Tokenizer::syntaxError(): throw exception when debug enabled.
...
This allows to stop test suite when first syntax error found.
2009-09-02 00:38:49 +07:00
Slava Semushin
953183d905
Print error messages to stderr (instead of stdout).
2009-09-02 00:38:43 +07:00
Daniel Marjamäki
7ba244cf45
Memory leaks: fixed a todo testcase
2009-09-01 19:33:17 +02:00
Slava Semushin
d8f2ec934b
Tokenizer::syntaxError: show details about unlogged syntax error.
2009-09-01 23:58:36 +07:00
Slava Semushin
eebe7457c9
Fixed #631 (False positive matching iterator which is dereferenced)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/631
2009-09-01 23:49:17 +07:00
Reijo Tomperi
0d468d97c7
Fix #630 (Division by zero check only looks at first character of divisor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/630
Thanks to liam_routt for finding this and providing fix for it.
2009-09-01 17:00:26 +03:00
Daniel Marjamäki
03d7573208
Borland C++: Don't warn about uninitialized variables that are declared in the __published section. These are auto-initialized
2009-08-31 19:40:49 +02:00
Daniel Marjamäki
960fb861da
Refactoring: Refactoring of the unit testing for the CheckMemoryLeakInFunction
2009-08-30 21:11:15 +02:00
Reijo Tomperi
6fb44e733b
Fix ticket #612 (Division by zero not detected when zero has type suffix)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/612
2009-08-30 22:02:09 +03:00
Daniel Marjamäki
9ede0e26ab
Merge branch 'master' into aleksi/master
2009-08-30 16:03:40 +02:00
Slava Semushin
c50f7787f9
Fixed #569 (Buffer overrun not detected when strcat() called few times)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/569
2009-08-30 18:44:23 +07:00
Aleksey Palazhchenko
95356dfecd
Fixes in src.pro
...
1) Binary shouldn't be in bundle (Mac OS X).
2) Binary doesn't use Qt at all.
2009-08-30 15:26:10 +04:00
Slava Semushin
1a982a2a19
CheckBufferOverrun::checkScope(): use Token::getStrLength().
...
No functional change.
2009-08-30 18:21:42 +07:00
Slava Semushin
843ede94f3
Token::getStrLength(): introduce new static method.
...
No functional change.
2009-08-30 18:07:10 +07:00
Slava Semushin
9b78c6dd32
Preprocessor::getcfgs(): use std::list::unique() for removing duplicates.
...
No functional change.
2009-08-30 15:47:24 +07:00
Daniel Marjamäki
f9b84805d9
Refactoring: Use the Token::link
2009-08-30 10:27:26 +02:00
Reijo Tomperi
e1cdbf3c5a
Fix ticket #611 (Preprocessor: the configurations "A;B" and "B;A" are the same)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/611
2009-08-30 00:00:54 +03:00
Reijo Tomperi
fc343b3e9e
astyle fix
2009-08-29 23:33:12 +03:00
Slava Semushin
d3118d85c0
Tokenizer::setVarId(): simplify code a bit.
...
No functional change.
2009-08-30 03:25:14 +07:00
Slava Semushin
6bb6cbadc2
Tokenizer::setVarId(): use Token::link() instead of loop.
...
No functional change.
2009-08-30 03:17:01 +07:00
Slava Semushin
00113eea92
Tokenizer::setVarId(): simplify condition.
...
No functional change.
2009-08-30 03:12:08 +07:00
Slava Semushin
fd94bb0cea
Tokenizer: don't call simplifyCalculations() twice.
...
No functional change.
2009-08-30 02:42:28 +07:00
Slava Semushin
18fd2528f8
Tokenizer::simplifyFunctionParameters(): change return type to void.
...
No functional change.
2009-08-30 02:37:15 +07:00
Slava Semushin
19e327607f
Tokenizer::simplifyConditionOperator(): change return type to void.
...
No functional change.
2009-08-30 02:33:21 +07:00
Slava Semushin
33ee1b8d98
Tokenizer::elseif(): change return type to void.
...
No functional change.
2009-08-30 02:33:14 +07:00
Slava Semushin
8efacf5dc3
Tokenizer::simplifyDoWhileAddBraces(): change return type to void.
...
No functional change.
2009-08-30 02:33:03 +07:00
Slava Semushin
a1f40f3c17
Tokenizer::simplifyIfAddBraces(): change return type to void.
...
No functional change.
2009-08-30 02:32:45 +07:00
Slava Semushin
ea45d985c7
Tokenizer::simplifyComma(): change return type to void.
...
No functional change.
2009-08-30 02:23:39 +07:00
Slava Semushin
80a305a2ce
Tokenizer::simplifyIfNotNull(): change return type to void.
...
No functional change.
2009-08-30 02:21:06 +07:00
Slava Semushin
3f905da9c6
Tokenizer::simplifyIfNot(): change return type to void.
...
No functional change.
2009-08-30 02:19:45 +07:00
Slava Semushin
b435764083
Tokenizer::simplifyIfAssign(): change return type to void.
...
No functional change.
2009-08-30 02:17:17 +07:00
Slava Semushin
030a0c19df
Tokenizer::simplifyVarDecl(): change return type to void.
...
No functional change.
2009-08-30 02:07:09 +07:00
Slava Semushin
1cb1709d7c
Tokenizer::simplifyCasts(): change return type to void.
...
No functional change.
2009-08-30 02:06:14 +07:00
Slava Semushin
6f93182580
Tokenizer::simplifyLogicalOperators(): change return type to void.
...
No functional change.
2009-08-30 02:03:37 +07:00
Daniel Marjamäki
9d7defad22
Fixed #615 (Memleak was detected in 1.32 but not in 1.33 and later)
2009-08-29 17:33:57 +02:00
Daniel Marjamäki
1dd2ec4757
Fixed #414 (memory leak in if-else construct not detected)
2009-08-29 16:55:43 +02:00
Daniel Marjamäki
270d2b2d4f
memory leaks: improved the simplification of 'if* ;'
2009-08-29 16:27:16 +02:00
Daniel Marjamäki
8f1f89ae2b
memory leaks: fixed todo test case. reduce exit better
2009-08-29 16:03:23 +02: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
0582572867
Tokenizer(simplifyNot): replace "if" by "else if" and added braces.
...
No functional change.
2009-08-29 20:32:48 +07:00
Daniel Marjamäki
b5c6d7ba49
memory leaks: fixed bug. return|else are not part of a variable declaration
2009-08-29 15:20:37 +02: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
840bbcfcbb
Tokenizer(simplifyIfAssign): fixed to link() just inserted tokens.
...
Fixed segfault on samba sources.
2009-08-29 18:10:43 +07:00
Slava Semushin
d6017756f4
Tokenizer(simplifyComma): join two if bodies to one.
...
No functional change.
2009-08-29 16:48:44 +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
Slava Semushin
78d44e67ef
CheckMemoryLeakInFunction(getcode): don't call Token::Match() if varid equals to zero.
2009-08-29 16:27:56 +07:00
Slava Semushin
fe1101771a
Tokenizer: call createLinks() only once.
...
Fixed simplifyIfAssign() and simplifyIfNot() to link() just inseted
tokens.
No functional change.
2009-08-29 16:10:04 +07:00
Daniel Marjamäki
6347d0e976
memory leaks: better handling of open/close
2009-08-29 09:18:21 +02:00
Daniel Marjamäki
88d0bd3908
astyle
2009-08-29 08:20:18 +02:00
Daniel Marjamäki
ee5b2a43c7
Fixed #627 (False positive with --all, Resource leak with open())
2009-08-29 07:43:44 +02:00
Daniel Marjamäki
de9e62e90a
Memory leaks: handling asprintf better
2009-08-29 07:26:32 +02:00
Daniel Marjamäki
406fdd3219
Memory leaks: Fixed two todo testcases (getcode handling of asprintf)
2009-08-29 07:02:36 +02:00
Daniel Marjamäki
ab047c680c
memory leaks: fixed a todo testcase
2009-08-29 06:42:24 +02:00
Daniel Marjamäki
74fd052fc0
Memory leaks: Testing that asprintf is handled correctly
2009-08-28 23:26:40 +02:00
Reijo Tomperi
0f0d7e92ee
Fixed bug in Token::deleteThis and optimized createLinks() calls.
2009-08-28 23:31:11 +03:00
Reijo Tomperi
bf4ac5521d
astyle fix
2009-08-28 23:29:08 +03: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
danmar
465c450247
Borland C++: Fixed problem in FileLister
2009-08-28 11:00:42 +02:00
danmar
3b2744e04a
borland c++: fixed compiler errors
2009-08-28 10:22:40 +02:00
Daniel Marjamäki
5d2c409e46
Fixed #623 (False positive: possible null pointer dereference when using the ?: operator)
2009-08-28 08:48:37 +02:00
Slava Semushin
dd64637ff1
Fixed #616 (Tokenizer: simplifyTemplates() should link() all inserted brackets)
...
This also fixed #619 .
http://sourceforge.net/apps/trac/cppcheck/ticket/616
http://sourceforge.net/apps/trac/cppcheck/ticket/619
2009-08-27 23:45:59 +07:00
Slava Semushin
9e32a0a595
Revert "Fixed #616 (cppcheck crashes with Eigen/src/Cholesky/CholeskyInstantiations.cpp)"
...
This reverts commit 89f9645174
.
This change not fully and properly fixes a problem but just work
arround it. The root of problem is because
Tokenizer::simplifyTemplates() inserts new tokens with brackets which
not link()-ed.
2009-08-27 23:40:58 +07:00
Reijo Tomperi
929dbe92e4
Fix the last test case from ticket #613 (array members variables are not checked in constructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/613
2009-08-26 23:33:23 +03:00
Daniel Marjamäki
ff9ed1d7aa
Preprocessor: better handling of pragma asm and pragma endasm
2009-08-26 21:54:43 +02:00
Slava Semushin
7c86a10a9d
Fixed #617 (False positive "buffer overrun" when sprintf() doesn't have optional parameters)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/617
2009-08-27 00:21:32 +07:00
Daniel Marjamäki
f94aab35e7
Fixed #498 (Tokenizer: simplify 'goto')
2009-08-26 18:46:56 +02:00
Slava Semushin
89f9645174
Fixed #616 (cppcheck crashes with Eigen/src/Cholesky/CholeskyInstantiations.cpp)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/616
2009-08-26 23:44:01 +07:00
Slava Semushin
8dcb846627
Fixed #614 (If you see this, there is a bug ###### Token::Match() - varid was 0)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/614
2009-08-26 02:44:19 +07:00
Slava Semushin
311fb1a1f8
src/checkmemoryleak.{h,cpp}: minor improvements.
...
Corrections for commit 0d6b6e840d
No functional change.
2009-08-26 02:32:10 +07:00
Slava Semushin
ff3d1db480
Replace "const unsigned int" to "unsigned int" in methods parameters.
...
No functional change.
2009-08-26 02:26:12 +07:00
Slava Semushin
bb15efb928
src/checkclass.cpp: propagate Token::strAt().
...
No functional change.
2009-08-26 02:04:48 +07:00
Slava Semushin
9a2a12c333
Tokenizer(simplifyGoto): create links for inserted braces.
2009-08-26 01:58:50 +07:00
Daniel Marjamäki
9569f758f8
fixed segmentation fault
2009-08-25 17:54:04 +02:00
Daniel Marjamäki
c25e1963b1
Fixed #498 (Tokenizer: simplify 'goto')
2009-08-24 23:10:12 +02:00
Reijo Tomperi
c581753040
Fix ticket #613 (array members variables are not checked in constructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/613
Patch from micres
2009-08-23 22:54:41 +03:00
Daniel Marjamäki
522f4c18c8
astyle formatting
2009-08-23 17:17:57 +02:00
Daniel Marjamäki
9da2ecf4f4
Refactoring the unit testing. Wrote special tests for CheckMemoryLeakInFunction::findleak
2009-08-23 15:48:25 +02:00
Daniel Marjamäki
99938353b4
Merge commit 'd0k/master'
2009-08-23 12:45:49 +02:00
Slava Semushin
8cafaf2960
Fixed #603 (Tokenizer: Incorrect simplification of < >)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/603
2009-08-23 13:26:16 +07:00
Slava Semushin
e6120a5725
Fixed #581 (Wrong usage of div-function)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/581
2009-08-23 10:37:09 +07:00
Slava Semushin
703fd45f78
Tokenize: minimize createLinks() calls.
...
No functional change.
2009-08-23 10:36:34 +07:00
Benjamin Kramer
18696679e3
Token: inline some functions
2009-08-22 22:36:12 +02:00
Benjamin Kramer
0d6b6e840d
Improve performance by using bsearch(3) instead of a std::set
...
The function name list is already in memory so we can avoid copying it into a std::set
if we sort the list alphabetically. This way no binary search tree has to be allocated.
Before (best of 5 runs):
./testrunner > /dev/null 0,21s user 0,00s system 95% cpu 0,221 total
After (best of 5 runs):
./testrunner > /dev/null 0,20s user 0,00s system 95% cpu 0,210 total
2009-08-22 20:24:26 +02:00
Slava Semushin
7ac6162947
Token::createMutualLinks(): introduce and use.
...
No functional change.
2009-08-22 21:22:50 +07:00
Slava Semushin
368bacff9a
Tokenizer: propagate Token::eraseTokens().
...
No functional change.
2009-08-22 21:04:58 +07:00
Slava Semushin
282f9104e7
Tokenizer::simplifyTokenList(): call link() for just inserted tokens.
2009-08-22 20:41:26 +07:00
Slava Semushin
6a5afd6243
Refactoring: Use the MathLib::toString() to stringify a number.
...
No functional change.
2009-08-22 18:47:14 +07:00
Daniel Marjamäki
724d6bf53a
Fixed #507 (Preprocessor: Incorrect expanding of inner macros)
2009-08-22 13:03:52 +02:00
Slava Semushin
acc38a8bbf
Fixed #592 (Tokenizer: improve the tokenization of do .. while)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/592
2009-08-22 17:49:42 +07:00
Daniel Marjamäki
94c49bc34e
Fixed #608 (Tokenizer: simplifyKnownVariables doesn't handle 'while (--i)' correctly)
2009-08-22 10:23:55 +02:00
Slava Semushin
2664bcf650
Tokenizer::simplifyIfAddBraces: use Token::link() instead of loop.
...
No functional change.
2009-08-22 14:54:28 +07:00
Slava Semushin
cbeb45566b
Fixed #609 (Tokenizer: don't add {} after do-while();)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/609
2009-08-22 14:49:45 +07:00
Daniel Marjamäki
7b3fdec5cf
Refactoring: Use the MathLib::toString to stringify a number
2009-08-21 14:50:13 +02:00
Daniel Marjamäki
439ff8b144
Fixed #599 (False positive: null pointer dereference)
2009-08-21 12:42:40 +02:00
Daniel Marjamäki
88251f5ac0
astyle formatting
2009-08-21 11:11:21 +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
Reijo Tomperi
7d44ce7736
Fix ticket #598 (Preprocessor: Multiline comments add line change to wrong location)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/598
2009-08-20 00:27:47 +03:00
Daniel Marjamäki
8b46172bcf
Memory leaks: Use varid instead of varname
2009-08-19 19:42:07 +02:00
Daniel Marjamäki
85682ed429
Fixed #591 (False positive: Deallocating a deallocated pointer)
2009-08-18 20:49:08 +02:00
Daniel Marjamäki
2cdb0abb82
Refactoring: Use the Token::link instead of loop
2009-08-17 22:23:37 +02:00
Reijo Tomperi
40fc605e2b
Fix ticket #597 (Compile error with Visual C++)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/597
2009-08-17 22:24:17 +03:00
Kimmo Varis
ec40b4c628
Don't force debug builds in qmake project files.
...
When creating makefiles with qmake one needs to give the target in command
line. E.g.
$ qmake -config debug
or
$ qmake -config release
For Visual studio projects both targets are generated by just running the
qmake command without switches.
2009-08-17 18:12:53 +03:00
Kimmo Varis
d16d19e580
Add new header file to qmake project files.
2009-08-17 18:05:10 +03:00
Reijo Tomperi
8b4b618fc4
Use _str.length() == 1, instead of _str[1] == 0
2009-08-16 23:50:00 +03:00
Reijo Tomperi
36a8e8afba
Fix ticket #543 (Possible buffer overrun in Token::Match())
...
http://sourceforge.net/apps/trac/cppcheck/ticket/543
Get rid of string copying in Token::Match(), also improves speed a little.
8.0s -> 7.7s
2009-08-16 23:28:17 +03:00
Slava Semushin
74bbe945f6
Fixed #272 ("The scope of the variable XXX can be limited" not detected when variable is initilialized during declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/272
2009-08-17 02:12:57 +07:00
Slava Semushin
32c8ba526b
MathLib(isInt): formatted and get rid of tabs.
...
No functional change.
2009-08-17 00:43:45 +07:00
Slava Semushin
8659c4828c
MathLib(isInt): use std::tolower().
...
No functional change.
2009-08-17 00:31:15 +07:00
Slava Semushin
a11089cb50
MathLib(isInt): use isxdigit().
...
No functional change.
2009-08-17 00:27:14 +07:00
Daniel Marjamäki
52856fcbeb
ettlmartin: improved the MathLib::IsInt
2009-08-16 18:45:26 +02:00
Slava Semushin
522f783ada
CheckMemoryLeak: try to speed up call_func().
...
Using std::set::find() instead of sequence of Match() calls.
2009-08-16 22:02:11 +07:00
Reijo Tomperi
fb85ee5356
Update version number to 1.35
2009-08-16 16:57:16 +03:00
Slava Semushin
4fa6c76c75
CheckAutoVariables(autoVariables): make code more readable.
...
- Reduce indentation
- Don't check bindent in many conditions
- Move inner if-s to outer condition
Should be no functional change.
2009-08-16 17:53:29 +07:00
Slava Semushin
aa4bb4d218
CheckAutoVariables: const modifier propagation.
...
No functional change.
2009-08-16 16:46:13 +07:00
Slava Semushin
41e2668138
CheckAutoVariables: don't save and search for local variables with varId 0.
2009-08-16 16:43:04 +07:00
Slava Semushin
fc5f4d366e
CheckAutoVariables: added braces.
...
No functional change.
2009-08-16 16:36:07 +07:00
Slava Semushin
743d5331ee
CheckAutoVariables(returnPointerToLocalArray): replace std::list to std::set
...
Use std::set and std::set::find() instead of std::list and
std::find(). First should be faster (runs in the logarithmic time) than
second (runs in linear time).
No functional change.
2009-08-16 16:31:44 +07:00
Slava Semushin
2dccf150ab
CheckAutoVariables: change type of vp_list member to std::set.
...
Change type of vda_list from std::list to std::set. It allows to us
use find() method instead of self-written loop which may be slow.
No functional change.
2009-08-16 16:16:35 +07:00
Slava Semushin
053e6f8b9a
CheckAutoVariables: change type of vd_list member to std::set.
...
Change type of vda_list from std::list to std::set. It allows to us
use find() method instead of self-written loop which may be slow.
No functional change.
2009-08-16 16:10:42 +07:00
Slava Semushin
ec81080d0b
CheckAutoVariables: change type of vda_list member to std::set.
...
Change type of vda_list from std::list to std::set. It allows to us
use find() method instead of self-written loop which may be slow.
No functional change.
2009-08-16 16:02:21 +07:00
Slava Semushin
475ef4213b
CheckAutoVariables: use varId instead of variable names.
...
This change similar to be89be8c30
but
for vd_list member.
2009-08-16 15:46:52 +07:00
Slava Semushin
be89be8c30
Fixed #590 (False positive: Invalid deallocation when variables have same name)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/590
2009-08-16 15:27:40 +07:00
Reijo Tomperi
f36f3bfae1
line change and encoding fixes
2009-08-15 22:39:57 +03:00
Slava Semushin
19e5fdb087
Fixed #588 (Preprocessor: Sort the configurations)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/588
2009-08-15 09:35:54 +07:00
danmar
dfa8a2e67c
Visual C++: Fixed testrunner compilation problems
2009-08-14 12:46:55 +02:00
danmar
e9f643f04c
Borland C++ Builder: Fixed compilation problems when compiling cppcheck
2009-08-14 12:28:41 +02:00
Reijo Tomperi
c8da301f83
fix ticket #586 (Preprocessor: Lines like "#error don't" can cause "no pair for character" errors)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/586
2009-08-14 00:22:51 +03:00
Daniel Marjamäki
51365c4b9d
mathlib: minor fix
2009-08-13 22:31:58 +02:00
danmar
3de825c290
Borland C++ Builder: Fixed compilation and testrunner problems
2009-08-13 22:13:52 +02:00
Reijo Tomperi
4f8a06ed0d
Initial work for class and member function/variable list in tokenizer.
2009-08-12 23:50:03 +03:00
Daniel Marjamäki
ad4ea01750
Fixed #583 (False positive: the nullpointer check doesn't handle goto properly)
2009-08-12 18:54:52 +02:00
Slava Semushin
6a7624054e
Fixed ticket #584 (Tokenizer: don't set varId for class declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/584
2009-08-12 01:58:49 +07:00
Daniel Marjamäki
e7feac506c
Refactoring: updated the nullPointer message so it contains the name of the pointer
2009-08-11 17:18:01 +02:00