Daniel Marjamäki
318f2e8a57
Fixed #2561 (False positive on array index when using conditional operator)
2011-02-12 11:31:10 +01:00
Raphael Geissert
d8119cd57a
Fix test for architectures where char is unsigned
2011-02-12 02:42:31 -06:00
Robert Reif
78b5361ec8
fix #2568 (False positive: (style) Union 'A_t' hides typedef with same name (forward declaration))
2011-02-11 19:09:24 -05:00
Sébastien Debrard
f5ed52b84b
fix #2569 check postfix increment on boolean
2011-02-11 23:38:23 +01:00
Erik Lax
c7821675dd
Preprocessor: Test handling of strings with multiple spaces (Ticket: #2548 )
2011-02-11 18:57:58 +01:00
Greg Hewgill
f2f2d1f885
Fixed #2571 (Preprocessor: better handling for #undef)
2011-02-11 18:51:22 +01:00
Greg Hewgill
751f8d46e5
Fixed #2570 (Preprocessor: #define parsing when there is no whitespace between a macro symbol and its double-quoted string expansion)
2011-02-11 18:01:27 +01:00
Robert Reif
b8c5426bb8
fix #2567 Unused private function when implemented in different file
2011-02-11 08:00:41 -05:00
Erik Lax
b3e8ef9d48
Fixed #2559 (Refactoring Preprocessor::read)
2011-02-11 06:30:42 +01:00
Daniel Marjamäki
90bf801c83
Visual Studio 2010: Updated project files for cli and test
2011-02-10 22:10:45 +01:00
Daniel Marjamäki
ce9f9ee6c6
Visual Studio 2008: Updated project files for cli and test
2011-02-10 22:08:10 +01:00
Reijo Tomperi
a71204b8e3
Change "tinyxml/tinyxml.h" includes into <tinyxml.h> and modify dmake to work with it.
...
This should allow usage of libtinyxml-dev or such libraries without modifications to code or makefile.
2011-02-10 22:35:48 +02:00
Robert Reif
2900d44ff0
#2560 (False positive: The class 'Altren' does not have a constructor, because base class is in namespace.)
2011-02-10 07:37:55 -05:00
Daniel Marjamäki
5175e4ff3f
Fixed #2535 (false positive: (style) Variable 'A' is not assigned a value)
2011-02-09 19:20:44 +01:00
Robert Reif
7502cea4d3
Fixed #2554 (simplifyTypedef: wrong simplification for sizeof(array))
2011-02-08 19:47:14 -05:00
Daniel Marjamäki
56ae77ba87
Fixed #2555 (Cppcheck 1.47 - Crash on WinMerge-Trunk (Win7 x64))
2011-02-08 20:18:15 +01:00
Erik Lax
aeae5a867d
Fixed #2550 (Bad substr/strncmp comparison)
2011-02-08 19:49:29 +01:00
Greg Hewgill
7a219b1fb8
support wildcard characters * and ? in suppression list
2011-02-09 00:19:57 +13:00
Greg Hewgill
38986302e9
failing test for suppression glob
2011-02-09 00:19:56 +13:00
Greg Hewgill
c0d3e002a9
preprocessor check for #define A 0
2011-02-08 21:02:15 +13:00
Robert Reif
1e0d538273
checkautovariables: refactor to use the symbol database
2011-02-07 19:26:34 -05:00
Daniel Marjamäki
7c9e52546d
Fixed #2552 (preprocessor check XX is already guaranteed to be defined -- too eager?)
2011-02-07 20:26:29 +01:00
Zachary Blair
daa04872a0
Merge branch 'master' of github.com:danmar/cppcheck
2011-02-06 01:31:09 -08:00
Daniel Marjamäki
26f017e9c6
scripts: added tabs.pl - in my opinion it is bad to use tabs inside string constants. spaces or \t should be used instead.
2011-02-05 12:53:28 +01:00
Zachary Blair
8a494cf8bb
Fixed #2388 (Use throw without argument to rethrow exceptions)
2011-02-05 01:11:09 -08:00
Robert Reif
95e917b27f
Tokenizer: Replace __null with 0 (gcc constant)
2011-02-05 09:03:31 +01:00
Robert Reif
c592ccd35d
Fixed #2547 (segmentation fault of cppcheck)
2011-02-05 08:59:59 +01:00
Daniel Marjamäki
5640845a17
Fixed #2498 (False positive: redundant assignment)
2011-02-04 21:08:42 +01:00
Daniel Marjamäki
dbc5929fa2
Fixed #2503 (false positive: memory leak (struct member, address is taken))
2011-02-04 20:41:35 +01:00
Robert Reif
f87056fca3
Fixed #2539 (segmentation fault of cppcheck)
2011-02-04 20:19:49 +01:00
Daniel Marjamäki
447d29938e
Fixed #2544 (XML output does not specify encoding used)
2011-02-04 20:14:19 +01:00
Daniel Marjamäki
39c68e12ce
Fixed #2533 (false positive: (error) Uninitialized variable: cBuffer)
2011-02-03 22:29:32 +01:00
Daniel Marjamäki
398190460f
astyle formatting
2011-02-03 22:20:59 +01:00
Kimmo Varis
85187dca07
Update VS 2008/2010 project files for tests.
2011-02-03 17:53:50 +02:00
Kimmo Varis
2d6d8580d7
Allow to exclude filenames (with paths).
...
This expands the CLI exclude feature to also allow excluding
filenames (with paths). When filename with recognized extension
is given to -i option then matching filenames (with paths) are
ignored when checking.
Ticket #2538 (Allow excluding files from the checking)
2011-02-03 14:43:42 +02:00
Kimmo Varis
9b9b9c99f5
Add test for XML format version 2.
2011-02-03 09:44:23 +02:00
Kimmo Varis
f65fa338a5
Tighten the directory name mathing with -i.
...
Only match full directory names as parts of whole paths. So -isrc
matches src/file.cpp and proj/src/file.cpp. But does not match
mysrc/file.cpp or proj/srcfiles/file.cpp.
2011-02-03 09:01:43 +02:00
Robert Reif
e9ec4bc3e4
Fixed #2536 (cppcheck hangs with 100% cpu load)
2011-02-03 07:58:49 +01:00
Robert Reif
8288c28b3f
Fixed #2537 (segmentation fault of cppcheck)
2011-02-03 07:57:10 +01:00
Kimmo Varis
bacb234534
Add testsymboldatabase.cpp to test.pro.
...
Also add comment explaining omitting testfilelister_unix.cpp.
2011-02-02 22:52:47 +02:00
Kimmo Varis
ffc4bb481b
Merge branch 'ignore-paths-cli'
2011-02-02 21:09:22 +02:00
Raphael Geissert
d592250284
Fix sizeof sizeof check to handle sizeof(sizeof type)
2011-02-02 11:49:32 -06:00
Daniel Marjamäki
9a383388be
xml2: added <errors> element
2011-02-02 18:46:07 +01:00
Daniel Marjamäki
26b21a5ae0
Merge branch 'sorted-instances'
2011-02-02 18:35:42 +01:00
Kimmo Varis
84a988ec50
Update VS2008/VS2010 project files.
2011-02-02 14:37:48 +02:00
Kimmo Varis
3fc0d0f03e
Run dmake to update Makefile.
2011-02-02 14:36:45 +02:00
Kimmo Varis
6401271ceb
Add CLI support for ignoring paths.
...
Add support for giving list of ignored paths from CLI. This way
user can define paths one doesn't want to check (like generated
code). This first simple implementation only does exact matching,
no support for wildcards etc. And matching is always agains dir
names.
If the filtered dir name is part of the checked filename then the
file is ignored.
Ticket #1690 (Ability to exclude files and directories from checks)
2011-02-02 14:34:04 +02:00
Kimmo Varis
1da88de932
Imrove --xml-version option parsing.
...
Allow --xml-version parsing to recognize also version 1 and print
errors about invalid values.
2011-02-02 14:04:50 +02:00
Kimmo Varis
1118b132b9
Add couple of tests for xml-version cmd line option.
2011-02-02 13:33:57 +02:00
Greg Hewgill
c3ad3f78e9
test case to check whether instances are sorted
2011-02-02 22:58:24 +13:00
Robert Reif
8eb92001b3
Fixed #2530 (Tokenizer: Remove redundant 'MyClass::' inside MyClass class declaration)
2011-02-02 07:40:08 +01:00
Daniel Marjamäki
defeded4b5
Fixed #2529 (False positive: array 'req[3]' index 4 out of bounds)
2011-02-01 21:46:07 +01:00
Pete Johns
2d1ccad44e
Turned failing ASSERT_EQUALS into TODO_ASSERT_EQUALS.
2011-02-01 19:55:39 +11:00
Pete Johns
d2b6dc210b
Merge https://github.com/ghewgill/cppcheck
2011-02-01 19:52:44 +11:00
Greg Hewgill
dcc0f28f34
check that misused scope object does not pick nested class
2011-02-01 08:07:41 +13:00
Daniel Marjamäki
202c8eb4a0
Fixed #2525 (False positive 'Possible null pointer dereference')
2011-01-31 17:30:27 +01:00
Daniel Marjamäki
757c840633
astyle formatting
2011-01-31 17:26:07 +01:00
Ettl Martin
f3111b541e
#2528 added todo-testcase
2011-01-31 13:46:51 +01:00
Raphael Geissert
66253af1e5
Handle "#endif !defined" conditionals
2011-01-30 17:33:44 -06:00
Raphael Geissert
b944168bdc
Check for cpp conditionals where a define is already guaranteed
2011-01-30 12:47:17 -06:00
Pete Johns
098f0bf3e6
Fixed #2526 (Make TODO_ASSERT_EQUALS take three arguments (value, to_be, as_is)?...
...
Removed replaced EXPECTED with...
WANTED (to-be): The future expected value.
CURRENT (as-is): Documenting how cppcheck behaves now.
This removes the need for an ASSERT_EQUALS but enforces the check for every TODO_ASSERT_EQUALS.
2011-01-30 23:20:11 +11:00
Raphael Geissert
49848fd752
Remove duplicated defines
...
After simplifying define(A) conditionals, the final list of
configurations could end up containing duplicate items.
Ticket #1468
2011-01-30 02:13:32 -06:00
Robert Reif
09998d9e18
Memory leaks: less conservative checking of classes. ticket: #2517
2011-01-30 08:38:20 +01:00
Daniel Marjamäki
49fc53165c
Tokenizer: remove some unhandled macros in the global scope. ticket: #2523
2011-01-30 08:34:58 +01:00
Kimmo Varis
b9a0e10b9a
Several fixes to cmd line tests.
...
There were several tests handling two parameters as one string.
Eg. "-I path" which doesn't work correctly. Fixed these
problematic tests.
2011-01-29 19:18:47 +02:00
Kimmo Varis
d334a02801
Make --exitcode-suppressions option consistent.
...
The --exitcode-suppressions option was inconsistent with other
long options by taking the filename as separate argument. Now
it expects format --exitcode-suppressions=filename.txt like
other long options.
Ticket: #1837 (--suppresions file.txt inconsistent)
2011-01-29 19:18:47 +02:00
Daniel Marjamäki
a299411a82
Tokenizer: Better simplifications of static constants
2011-01-29 16:14:09 +01:00
Kimmo Varis
081e364298
Rename --suppressions-list CLI option.
...
The option --suppressions-list was inconsistent with other options
so renaming it to --suppressions-list.
Ticket: #1837 (--suppresions file.txt inconsistent)
2011-01-28 13:26:43 +02:00
Daniel Marjamäki
83625d8055
Fixed #2505 (Check processing of a preprocessor macro 'FREE')
2011-01-28 09:19:30 +01:00
Robert Reif
79862573ba
Symbol database: better unit testing. ticket: #2468
2011-01-28 08:33:02 +01:00
Daniel Marjamäki
88abeeebba
Fixed #2518 (Crash when checking rockbox's firmwire)
2011-01-27 21:16:25 +01:00
Daniel Marjamäki
524498e439
Tokenizer: collapse operator function names into a single token. ticket: #2519
2011-01-27 18:44:20 +01:00
Kimmo Varis
090436ea95
Add cmd line parser tests for XML ver 2 options.
2011-01-27 14:25:10 +02:00
Kimmo Varis
a794edd934
Don't stop processing cmd line after --errorlist.
...
Ticket #2441 (Parsing of command line arguments breaks after --errorlist)
Instead of stopping processing command line options after
--errorlist process them all. This way e.g. --verbose can be given
also after the --errorlist.
2011-01-27 11:14:08 +02:00
Sébastien Debrard
3e7f29d6f9
fix #2510 Improve check 'sizeof for array given as function argument'
2011-01-26 20:08:06 +01:00
Sébastien Debrard
e82c190429
Merge branch 'master' of https://github.com/danmar/cppcheck
...
Conflicts:
test/testother.cpp
2011-01-25 10:05:03 +01:00
Sébastien Debrard
4cf56dac2b
Fix 2495 incorrect sizeof error message
2011-01-25 09:57:58 +01:00
Daniel Marjamäki
a596a7a8fe
Fixed #2494 (New check: clarify calculation when using ?: operator)
2011-01-24 21:40:49 +01:00
Sébastien Debrard
c7b8bd543f
fix ticket 155 - char array
2011-01-24 19:04:56 +01:00
Daniel Marjamäki
c04107131b
when using TODO_ASSERT_EQUALS it's a good idea to pair it with a ASSERT_EQUALS
2011-01-23 14:34:26 +01:00
Daniel Marjamäki
b10f0aabd6
Fixed #2376 (simplifyTypedef: upx-ucl)
2011-01-23 09:04:34 +01:00
Daniel Marjamäki
86e6822264
Fixed #2493 (false positive: (error) Possible null pointer dereference: pExpr)
2011-01-23 08:38:09 +01:00
Daniel Marjamäki
9d3b242cd8
Fixed #1952 (false negative: buffer acces out of bounds with memcpy)
2011-01-22 21:31:26 +01:00
Debrard Sébastien
27dce075e0
Fixed #155 (check size of a variable whose type is a sized array)
2011-01-22 19:21:56 +01:00
Robert Reif
8abae6f1e5
Symbol database: match copy-constructor better. ticket: #2484
2011-01-22 17:43:36 +01:00
Daniel Marjamäki
f947955c63
Fixed #2492 (False positive: memory leak 'return &self->foo;')
2011-01-22 13:40:19 +01:00
Daniel Marjamäki
9551332321
Fixed #2459 (False positive with unused private function and friend)
2011-01-22 13:00:03 +01:00
Daniel Marjamäki
bc31f317bc
Fixed #2491 (Tokenizer::setVarId : wrong handling of function call: 'a(b * c, 1);')
2011-01-22 09:27:16 +01:00
Ettl Martin
a83aced2ec
fixed uninitialized members in tests
2011-01-21 23:48:42 +01:00
Robert Reif
767e01e24a
Fixed #2478 (Crash when trying to analyze files (CheckClass::checkReturnPtrThis))
2011-01-21 19:54:41 +01:00
Daniel Marjamäki
87e3e9e703
Fixed #2488 (false positive with updating iterator in a for loop)
2011-01-20 20:48:35 +01:00
Daniel Marjamäki
a21f8eec7c
Fixed #2481 (false positive with break: After insert, the iterator '*' may be invalid)
2011-01-20 19:26:52 +01:00
Daniel Marjamäki
70eadb37bd
Fixed #2481 (false positive with 'break;': After insert, the iterator '*' may be invalid)
2011-01-19 21:00:46 +01:00
Daniel Marjamäki
b1b8ea6457
added unit test for #2482
2011-01-19 20:41:46 +01:00
Daniel Marjamäki
ecac93ebed
Fixed #2462 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant)
2011-01-19 18:37:33 +01:00
Pete Johns
94aafa482c
Fixed #2480 (false positive on unused private function)
2011-01-19 20:32:08 +11:00
Kimmo Varis
0cacc7fe4d
Update Visual Studio project files.
...
Update Visual Studio 2008/2010 project files after moving filelister*
files from lib/ to cli/.
2011-01-18 20:55:17 +02:00
Kimmo Varis
b8b2e3fae9
Move filelister* to cli.
...
Ticket #2445 (Move FileLister classes from LIB to CLI).
2011-01-18 19:58:49 +02:00
Pete Johns
75767705c7
Added testDoesNotIdentifyCallback for #2480
...
TODO
2011-01-18 21:50:22 +11:00
Pete Johns
0e1bab6dc3
Merge branch 'multi_indirection_templates'
2011-01-18 21:08:04 +11:00
Pete Johns
abfd907763
Made isVariableDeclarationIdentifiesTemplatedPointerToPointerVariable() pass.
...
And added isVariableDeclarationIdentifiesTemplatedArrayVariable() (passing) into the bargain.
2011-01-18 20:14:12 +11:00
Pete Johns
69d4db714e
Added TODO test cases for template variables with multiple levels of pointer indirection
...
Following email from Robert Reif
2011-01-18 18:29:42 +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
Daniel Marjamäki
965c1a94fd
Fixed #2475 (False positive in structure initialisation: The scope of the variable bits can be reduced)
2011-01-17 20:51:15 +01:00
Kimmo Varis
bd5e9e5309
Improve checking -D arguments for command line.
2011-01-17 21:19:27 +02:00
Kimmo Varis
6dd16d3919
Fix crash when giving -D without argument.
...
Fixes ticket #2476 (Crash when -D used without parameters.)
2011-01-17 21:03:22 +02:00
Daniel Marjamäki
b5020468f6
Fixed #2467 (false positive: possible nullptr dereference)
2011-01-17 19:23:00 +01:00
Daniel Marjamäki
065e2e277e
Fixed #2473 (False positive: Memory leak when there is local struct)
2011-01-17 19:00:21 +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
Pete Johns
7918c4b804
isVariableDeclaration() now detects template variables.
2011-01-17 08:36:53 +11:00
Pete Johns
38c37ad2d8
Moved array declaration detection into isVariableDeclaration()
2011-01-17 08:36:52 +11:00
Daniel Marjamäki
e6a1efa13b
Fixed #2302 (Duplicate id 'unusedVariable')
2011-01-16 18:45:05 +01:00
Daniel Marjamäki
61aa86f201
testcppcheck: check that Cppcheck::getErrorMessages output is not empty
2011-01-16 17:07:12 +01:00
Daniel Marjamäki
f50971a65a
testcppcheck: test Cppcheck::getErrorMessages
2011-01-16 17:06:07 +01:00
Daniel Marjamäki
615c92c83b
testcppcheck: cleanup
2011-01-16 16:45:00 +01:00
Daniel Marjamäki
483e50d5bc
testcppcheck: removed 'parseArgsAndCheck' and 'parseOutputtingArgs'. Such tests belong to testcmdlineparser
2011-01-16 16:34:29 +01:00
Daniel Marjamäki
206565c837
testcppcheck: removed nonexistingpath and include tests. The Cppcheck class doesn't handle this.
2011-01-16 16:32:05 +01:00
Daniel Marjamäki
f862b37c71
testcppcheck: the xml and template output is tested in testerrorlogger instead
2011-01-16 16:26:33 +01:00
Daniel Marjamäki
e3e32de22e
testcppcheck: the testcmdlineparser tests invalid command line arguments
2011-01-16 16:22:46 +01:00
Daniel Marjamäki
4661e38c65
testcppcheck: linenumbers are tested in the other tests
2011-01-16 16:21:34 +01:00
Daniel Marjamäki
c841908149
testcppcheck: command line parsing of -D is tested in testcmdlineparser.cpp
2011-01-16 16:19:40 +01:00
Daniel Marjamäki
03ddfcb5b3
testcppcheck: parsing templates is tested in testcmdlineparser.cpp
2011-01-16 16:17:53 +01:00
Daniel Marjamäki
a97e28491f
Fixed #2407 (False positive: unused private function)
2011-01-16 12:16:31 +01:00
Daniel Marjamäki
f72fd6960e
Fixed #2449 (segfault in tokenize.cpp, incorrect parsing)
2011-01-16 11:54:28 +01:00
Raphael Geissert
da998fec68
Tokenizer: simplify restrict
2011-01-16 11:37:03 +01:00
Robert Reif
beb2db82a2
Fixed #980 (false negative: division by zero when using enum)
2011-01-16 11:24:58 +01:00
Robert Reif
0f6644e1ea
Symbol database: Refactorings
2011-01-16 11:18:12 +01:00
Daniel Marjamäki
6edf35ebf5
Fixed #2463 (false positive: possible nullpointer dereference)
2011-01-15 12:09:36 +01:00
Daniel Marjamäki
97d0755750
Fixed #2454 (Tokenizer::simplifyKnownVariables: problem with float/double variables)
2011-01-15 08:48:42 +01:00
Daniel Marjamäki
cf32016444
removed old comment
2011-01-15 08:30:54 +01:00
Daniel Marjamäki
5920dbb7e7
Fixed #2466 (Tokenizer: simplification of enum)
2011-01-15 08:21:06 +01:00
Robert Reif
8ecba0af90
Fixed #2464 (False positive: not initialised/not assigned Static variable in copy constructors.)
2011-01-15 08:04:50 +01:00
Robert Reif
79b9939610
Fixed #2465 (False positive: not initialised variable, but there is default constructor for it.)
2011-01-15 07:59:37 +01:00
Daniel Marjamäki
00b49a51da
Fixed #2451 (False positive when incrementing map value via iterator)
2011-01-14 19:50:07 +01:00
Robert Reif
708a75e363
Fixed #2452 (syntax error when 'void f(typedef int x)' is used. causes segmentation fault.)
2011-01-14 07:41:22 +01:00
Daniel Marjamäki
b247d7d56e
Fixed #2450 (False positive when iterator reused)
2011-01-13 20:57:44 +01:00
Daniel Marjamäki
36c1807228
Fixed #2458 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant)
2011-01-13 20:12:57 +01:00
Zachary Blair
38be7056b0
Fixed #2434 (FP memleakOnRealloc)
2011-01-12 22:33:46 -08:00
Daniel Marjamäki
09f900ce79
Fixed #2440 (False negative: basic memory leak)
2011-01-11 20:14:15 +01:00
Kimmo Varis
846d3dae99
Accept include paths ending with backslash.
...
Convert include path to use internal path separators when parsing
command line. Convert back to native separators when using paths.
Ticket #2448 (Error in handling -I command line parameter)
2011-01-11 21:04:21 +02:00
Daniel Marjamäki
79e52a8c45
Fixed #2296 (Tokenizer: simplifyKnownVariable doesn't simplify pointer properly 'delete [] p;')
2011-01-11 19:34:35 +01:00
Daniel Marjamäki
9658e2299d
Fixed #2443 (Possible null pointer dereference: xxx - otherwise it is redundant to check if xxx is null at line)
2011-01-10 19:57:26 +01:00
Daniel Marjamäki
2d92f1ff6a
Fixed #2442 (False positive: Memory leak when function returns in 'if' instead of 'else if')
2011-01-10 19:35:06 +01:00
Reijo Tomperi
226b605774
Change year 2010 -> 2011 in license texts.
2011-01-09 21:33:36 +02:00
Daniel Marjamäki
2848abbf36
Fixed #1219 (improve check: null pointer not detected 'if (p) return; *p = 0;')
2011-01-09 20:16:16 +01:00
Daniel Marjamäki
79ef02812d
Fixed #2211 (false negative: buffer access out of bounds for(int i=0; i !=6;i++))
2011-01-09 18:51:28 +01:00
Daniel Marjamäki
0b0c46e373
astyle formatting
2011-01-09 18:39:59 +01:00
Daniel Marjamäki
88abb32ddf
Fixed #2429 (Tokenizer: Wrong simplification of 'sizeof .1250E+04')
2011-01-09 10:09:54 +01:00
Daniel Marjamäki
68beffca04
Fixed #2437 (false positive: possible null pointer dereference: tok2)
2011-01-08 17:16:52 +01:00