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