Robert Reif
04309f74f5
fix #2738 (syntax error on valid code)
2011-04-20 19:09:28 -04:00
Daniel Marjamäki
061eab4d22
Virtual destructors: Enabled the check again. I think it is conclusive now. Ticket: #2728
2011-04-20 18:03:16 +02:00
Daniel Marjamäki
a79e979ae4
Memory leaks: Fixed TODO test case. Ticket: #2733
2011-04-20 17:16:09 +02:00
Robert Reif
b1d3d291e6
fix #2736 (segmentation fault of cppcheck)
2011-04-20 07:49:04 -04:00
Daniel Marjamäki
46afc54c10
astyle formatting
2011-04-20 06:41:26 +02:00
Daniel Marjamäki
aac65247ba
Fixed #2733 (Memory leak: not all branch are checked)
2011-04-20 06:41:14 +02:00
Daniel Marjamäki
a9d8f456ee
astyle formatting
2011-04-19 20:13:10 +02:00
Daniel Marjamäki
68e7003bb1
Fixed #2734 (False positive: reports 'should be passed by reference' for std::streamoff)
2011-04-19 20:07:54 +02:00
Ettl Martin
47a1332e6a
#2733 added sizeof to checkmemory-leaks white list, added a todo-testcase
2011-04-19 16:55:27 +02:00
Robert Reif
c238b1bba6
fix #2730 (The same expression on both sides of != is OK when checking for NaN)
2011-04-18 19:20:27 -04:00
Robert Reif
1b7183a294
fix previous patch: test for #2614 (missing varid on function parameter)
2011-04-18 18:53:11 -04:00
Robert Reif
6a09ee0be1
add test for #2614 (missing varid on function parameter)
2011-04-18 07:45:38 -04:00
Martin Exner
2b08744b97
Fixed #2676 (setVarId: variables with global scope qualification :: don't get varids)
2011-04-18 06:56:39 +02:00
Robert Reif
877a233145
fix #2716 (Easy to reproduce crash)
2011-04-16 10:35:23 -04:00
Daniel Marjamäki
0beef13794
ErrorLogger: Refactoring/fixing the serializer/deserializer for inconclusive messages
2011-04-16 13:42:48 +02:00
Daniel Marjamäki
739b6a93e2
Fixed #2713 (False positive (Redundant assignment))
2011-04-16 12:07:56 +02:00
Robert Reif
3159df958d
fix #2720 (false positive: syntax error with c++0x code)
2011-04-14 19:50:17 -04:00
Daniel Marjamäki
58dbbb0cab
Inconclusive checking: Report inconclusive errors with reportInconclusiveError. It takes the same parameters as reportError.
2011-04-14 18:02:01 +02:00
Daniel Marjamäki
7021e3224b
Fixed #2714 (False positive: ternary operator and += style warning.)
2011-04-14 17:30:50 +02:00
Robert Reif
75e5353b6d
fix #2718 (Analysis failed. If the code is valid then please report this failure.)
2011-04-13 23:58:58 -04:00
Robert Reif
257197bdd1
fix #2717 (false positive: syntax error (typedef void f(int) const;))
2011-04-13 23:24:41 -04:00
Robert Reif
50a1f28d86
run astyle
2011-04-13 21:12:35 -04:00
Daniel Marjamäki
7d6e923bd4
inconclusive: don't report such messages in xml version 1 format. until we decide how they will be reported in xml version 2 format I don't report it.
2011-04-10 21:51:27 +02:00
Daniel Marjamäki
11bd6bcd30
Fixed #2712 (false positive: Division by zero)
2011-04-10 21:27:09 +02:00
Robert Reif
56212370d1
add check for same expression on both sides of an operator (part of #2700 )
2011-04-10 10:25:02 -04:00
Robert Reif
434783530a
Merge branch 'master' of github.com:danmar/cppcheck
2011-04-10 09:57:34 -04:00
Robert Reif
4a50aca7b2
fix a bug in checkDuplicateBranch where removed type info like signed/unsigned was not checked for difference
2011-04-10 09:57:09 -04:00
Daniel Marjamäki
e5d43d4ed2
Renamed Settings::stupid to Settings::experimental
2011-04-10 15:55:08 +02:00
Daniel Marjamäki
30ee9ba6e4
Added Settings::stupid flag that can be used to hide checking that generates false positives.
2011-04-10 13:23:45 +02:00
Daniel Marjamäki
af60f2c4ef
Token: Added testcase for matching of %op%
2011-04-10 11:15:57 +02:00
Daniel Marjamäki
747a2331c6
Token::Match : Allow that %oror% and %or% is used in multiCompare patterns
2011-04-10 08:39:55 +02:00
Robert Reif
66de41b313
partial fix for #2700 (common logic or cut and paste errors)
2011-04-09 17:05:27 -04:00
Robert Reif
d22fcb8184
fix bug in previous commit: fix #311 (add detection of duplicated if else-cases)
2011-04-09 16:34:16 -04:00
Robert Reif
7e403ae210
fix #311 (add detection of duplicated if else-cases)
2011-04-09 15:14:01 -04:00
Daniel Marjamäki
447f61e9c7
Refactoring: Use %op%
2011-04-09 18:30:47 +02:00
Daniel Marjamäki
6c4f5fc496
Token::multiCompare : allow that %op% is used in multiCompare pattern
2011-04-09 18:09:13 +02:00
Daniel Marjamäki
f6d910ab3d
Refactoring: Use Token::isOp
2011-04-09 15:54:36 +02:00
Daniel Marjamäki
3ad7568df8
TestFileLister: astyle formatting and removed commented debug code
2011-04-09 08:20:34 +02:00
Robert Reif
3c8644fcf8
added tests for #2710 (False negative on uninitialized member variable in a ctor.)
2011-04-08 07:39:30 -04:00
Daniel Marjamaki
8601c64d99
Fixed TestFileLister tests in windows
2011-04-07 17:49:18 +02:00
Daniel Marjamäki
6f7e9a67b0
Fixed #2684 (TestFileLister test assumes there are source files in the same directory)
2011-04-07 17:36:42 +02:00
Daniel Marjamaki
fbc8223a6b
Preprocessor: Fixed expandMacros problem. Ticket: #2707
2011-04-07 16:53:42 +02:00
Kimmo Varis
803203a876
Fix test VS2008 project file attributes.
2011-04-07 14:10:31 +03:00
Stefan Weil
8482eb9d5c
Obsolete functions: Fix messages for gethostbyaddr, gethostbyname
2011-04-07 00:33:54 +02:00
Robert Reif
d985fc008a
run astyle
2011-04-04 22:25:56 -04:00
Robert Reif
23e4f020e9
fix #2706 (Analysis failed. If the code is valid then please report this failure.)
2011-04-04 22:18:12 -04:00
Ettl Martin
af632a6aa0
Added todo testcase for ticket #2705
2011-04-04 23:29:18 +02:00
Daniel Marjamäki
4ac3c7fe3b
clarify calculation: fixed false negative for 'int x = a - b ? 2 : 3'
2011-04-04 21:33:16 +02:00
Daniel Marjamäki
63acd9bb3e
Clarify calculation: Added warnings for << and >>
2011-04-03 22:12:22 +02:00
Martin Exner
bc3507118d
Fixed #2696 (False positive nullpointer)
2011-04-03 21:06:42 +02:00
Daniel Marjamäki
ed8cdddcf5
Tokenizer: execute the simplifyIfNot and simplifyIfNotNull in the normal token list. ticket #2642
2011-04-02 21:21:05 +02:00
Daniel Marjamäki
29422b8552
clarify precedence: made the short message shorter
2011-04-02 17:27:36 +02:00
Daniel Marjamäki
ea57e10c7f
Tokenizer::simplifyCalculations: simplify division result if it's a whole number, even though it doesn't have precedence
2011-04-02 12:52:11 +02:00
Daniel Marjamäki
855b01cd5a
Clarify precedence 'a*b?c:d' : warn for addition, subtraction and division also. tried to clarify the message more
2011-04-02 11:43:20 +02:00
Daniel Marjamäki
f34e9e6623
Tokenizer: better simplification of calculations in conditions
2011-04-02 11:08:58 +02:00
Robert Reif
cf65a73c47
fix CheckClass::operatorEq to check return type more closely (to match check description)
2011-03-31 19:40:28 -04:00
Daniel Marjamäki
b8cda19ca6
Fixed #2655 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant)
2011-03-30 21:57:01 +02:00
Daniel Marjamäki
ae2a8d839b
Fixed #2693 (__declspec attribute not removed properly)
2011-03-30 19:49:55 +02:00
Stefan Weil
675e63b6a7
Spell checks
2011-03-30 16:45:31 +02:00
Stefan Weil
0e4cf7a2d6
Spell checks
2011-03-30 16:44:16 +02:00
Kimmo Varis
4d4b28b075
Remove './' at begin of path in Path::simplifyPath.
...
The './' is not needed at begin of path for files we check. And it
only makes paths longer. This also makes it easier to match paths.
2011-03-29 20:53:18 +03:00
Daniel Marjamäki
0a2f11c2cd
Fixed #2695 (False positive: null pointer dereference and ternary operator (?:))
2011-03-29 18:45:32 +02:00
Robert Reif
e9a23d9cb5
fix #2692 (False positive: if parsed as function in operator >>)
2011-03-28 20:02:06 -04:00
Robert Reif
1aca09a8bf
add support for checking struct/class member container in CheckStl::size()
2011-03-28 19:31:23 -04:00
Kimmo Varis
b889f663ae
Add Path::removeQuotationMarks() to clean path.
2011-03-28 22:14:19 +03:00
Daniel Marjamäki
d539cf59ca
Null pointer: Added TODO test case for ticket #2681
2011-03-28 19:27:07 +02:00
Daniel Marjamäki
a1dba61cee
Null pointer: prefer longer error message that says 'otherwise condition at line X is redundant'
2011-03-28 18:48:27 +02:00
Daniel Marjamäki
7426bd3daf
Null pointer: prefer longer error message that says 'otherwise condition at line X is redundant'
2011-03-28 18:44:25 +02:00
Daniel Marjamäki
4a7b60942b
Fixed #2691 (False positive: struct dereference and check (switch-break))
2011-03-28 17:28:21 +02:00
Robert Reif
31f8ff723b
skip nested anonymous unions when searching for variables in symbol database
2011-03-27 18:37:31 -04:00
Daniel Marjamäki
57056bcf61
Fixed #2689 (False positive: Possible null pointer dereference)
2011-03-27 21:29:49 +02:00
Robert Reif
1e1434e191
make member variable change detection simpler and more accurate for CheckClass::checkConst
2011-03-27 13:59:12 -04:00
Daniel Marjamäki
c87037c29d
Fixed #2674 (False positive: possible null pointer dereference (check if pointer is null in one function, dereference it in another function))
2011-03-27 11:04:58 +02:00
Daniel Marjamäki
e89f6d6ec0
Fixed #2660 (False positive: Variable 'v' is assigned a value that is never used)
2011-03-27 08:19:09 +02:00
Markus Elfring
ce198f85fc
Addition of a file name in a CMake script (bug #2524 , #1690 )
...
A few source files were added because of the feature request "Ability to
exclude files and directories from checks".
6401271ceb
A CMake build script was updated for these changes.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2011-03-26 20:41:01 +01:00
Daniel Marjamaki
c6b176014b
cmake: removed the non-working pcre. ticket: #2679
2011-03-26 19:03:11 +01:00
Daniel Marjamäki
3c2d3ca3a4
Fixed #2653 (segmentation fault of cppcheck 'x=b=0;')
2011-03-26 12:20:23 +01:00
Daniel Marjamäki
7d9872a134
Tokenizer::setVarId: Prevent that wrong varid is given when uncertain. Ticket: #2680
2011-03-26 10:05:07 +01:00
Daniel Marjamäki
2b1277aa64
Fixed #2680 (setVarId: variables with class qualification don't get varid)
2011-03-26 08:56:41 +01:00
Robert Reif
168db82fd6
better checking of assignment to array element in CheckClass::checkConstFunc
2011-03-25 23:02:13 -04:00
Robert Reif
f8e1735b0f
add support to CheckClass::checkConstFunc for ++/-- array elements
2011-03-25 22:37:32 -04:00
Sebastien Debrard
29b7d4b9c3
sync cmake files with the master branch
2011-03-26 02:03:52 +01:00
Robert Reif
6e6c86365f
add some missing ; at end of class and struct definitions in checkclass tests
2011-03-25 07:58:51 -04:00
Daniel Marjamäki
5058cc6aa1
Reverted non-CMake changes in previous 'Added CMake files' commit
2011-03-25 07:59:48 +01:00
Markus Elfring
9301ee28a8
Added CMake files
2011-03-25 07:14:53 +01:00
Robert Reif
710eb8ffd9
add support for global namespace to Tokenizer::simplifyVarDecl()
2011-03-24 23:06:20 -04:00
Robert Reif
fc258164cd
fix #2675 (false positive: syntax error)
2011-03-24 22:26:42 -04:00
Daniel Marjamäki
74105f5d83
Fixed #2673 (false positive: memory leak (address stored in list))
2011-03-24 17:14:12 +01:00
Robert Reif
61e720c82b
fix #1288 (Use of memset on struct - nested structs not handled)
2011-03-23 21:58:58 -04:00
Robert Reif
cbc81e20f5
fix Tokenizer::simplifyVarDecl() template assignment
2011-03-23 21:15:49 -04:00
Robert Reif
7e3e5d628d
better fix for #2672 (False positive: function can be const, nested classes declared in one line)
2011-03-23 20:19:32 -04:00
Daniel Marjamäki
5f36ede4f5
Fixed #2662 (Segfault: overloaded function call function with same name)
2011-03-23 18:45:47 +01:00
Robert Reif
3259239dfe
fix #2672 (False positive: function can be const, nested classes declared in one line)
2011-03-23 07:48:18 -04:00
Robert Reif
ac7f1f874e
add some more CheckClass::noMemset tests
2011-03-22 22:45:19 -04:00
Robert Reif
d36ed9aff1
fix #2670 (False positive: function can be const, overloaded functions)
2011-03-22 19:23:36 -04:00
Ettl Martin
8308fb72e3
fixed performance issues, found by selfcheck with cppcheck.
2011-03-22 23:15:15 +01:00
Ettl Martin
ff1de4c896
extended checkmemoryleak-whitelist
2011-03-22 22:13:29 +01:00
Robert Reif
c043e6e1a2
fix
2011-03-21 20:57:17 -04:00
Robert Reif
dc0dfea079
fix invalid bitfield match and simplification that created invalid code
2011-03-21 20:17:14 -04:00
Robert Reif
3c5134bb21
run astyle
2011-03-21 19:59:53 -04:00
Ettl Martin
7e31c91a79
extended checkmemoryleak white list
2011-03-21 23:59:43 +01:00
Ettl Martin
38cf9f26df
#2667 added open(), _open() and _wopen() function to checkmemoryleak whitelist, incl. unittests;
2011-03-21 23:20:46 +01:00
Ettl Martin
78bcb07e19
#2667 added perror to checkmemoryleak white list; added unit-tests.
2011-03-21 17:43:26 +01:00
Ettl Martin
f242cb639e
#2668 fixed memory leak ( freopen() )
2011-03-21 15:12:21 +01:00
Ettl Martin
a975301ce4
#2659 added chown,chmod and chdir functions to checkmemoryleak white list; added unittests for each case;
2011-03-21 00:07:37 +01:00
Ettl Martin
01249d4f48
#2659 added access()-function to checkmemoryleak white-list and provided untittests.
2011-03-20 23:39:44 +01:00
Ettl Martin
3407561df6
#2667 removed wrong unittests;
2011-03-20 23:02:18 +01:00
Ettl Martin
c9a5051ea0
#2667 created unit-tests
2011-03-20 22:31:29 +01:00
Ettl Martin
7afc0978c2
#2659 added stat function to white list and provide unit tests.
2011-03-20 22:17:51 +01:00
Ettl Martin
ab6888dbfe
fixed ticket 2659: added lstat function to white list; provided unit-tests.
2011-03-20 21:52:25 +01:00
Robert Reif
2277cb6965
fix #2663 (False negative: function can be const (changing unknown or uninitialised variable))
2011-03-20 13:29:52 -04:00
Robert Reif
41d80b5c8d
fix #2664 (False negative: function can be const (using type from another namespace))
2011-03-20 12:53:37 -04:00
Daniel Marjamäki
6dd9676d43
FileLister: Updated Visual Studio files
2011-03-20 14:47:15 +01:00
Daniel Marjamäki
c60edb5af6
FileLister: updated qmake files
2011-03-20 14:37:28 +01:00
Daniel Marjamäki
8caf96be63
FileLister: Moved back the code into a single cpp file
2011-03-20 14:25:11 +01:00
Daniel Marjamäki
27506b4231
Fixed #2661 (False positive: object destroyed immediately)
2011-03-20 09:55:26 +01:00
Daniel Marjamäki
2613780b85
Fixed #2662 (Segfault: overloaded function call function with same name)
2011-03-20 09:16:52 +01:00
Robert Reif
fc13854095
fix #1280 (Pointer to function support)
2011-03-19 16:21:26 -04:00
Robert Reif
92316e5745
fix #1987 (Internal error:: CheckClass::SpaceInfo::getVarList found variable 'element_size' with varid 0.)
2011-03-19 16:00:43 -04:00
Daniel Marjamäki
2dcd0128b0
Fixed #2213 (false negative: resource leak (calling allocating subfunction twice))
2011-03-19 14:05:22 +01:00
Daniel Marjamäki
31af3a64bc
Tokenizer::setVarId: Fixed problem with same variable name in multiple classes
2011-03-19 11:09:51 +01:00
Daniel Marjamäki
61d5229d06
Refactoring: Renamed showAll flag to inconclusive
2011-03-19 10:51:38 +01:00
Daniel Marjamäki
45a3828da7
Tokenizer::setVarId: Better handling of class declarations when variable usage comes before variable declaration
2011-03-19 09:04:03 +01:00
Robert Reif
afc7fd82ed
#2630 (segmentation fault of cppcheck (template <typedef A>)
2011-03-18 20:44:58 -04:00
Robert Reif
1de35c168d
fix #2657 (segmentation fault of cppcheck ( gcc-testsuite: return f(){} ))
2011-03-17 20:10:56 -04:00
Robert Reif
7b63da4964
fix #2651 (Segmentation fault (typedef))
2011-03-17 20:00:49 -04:00
Daniel Marjamäki
dab09aedee
Fixed #2648 (Tokenizer::simplifyTemplates: Segmentation fault (gcc-testsuite))
2011-03-17 21:45:03 +01:00
Robert Reif
7e04ea0859
fix removal of throw() from const functions
2011-03-16 19:54:52 -04:00
Daniel Marjamäki
fec9edf628
Tokenizer::simplifyTemplates: First simple fix for problems when using sizeof in template parameter
2011-03-16 22:16:30 +01:00
Robert Reif
f7cbc90c84
fix #2581 (### Internal error in Cppcheck. Please report it.)
2011-03-15 23:28:45 -04:00
Robert Reif
47531dd99c
fix #2637 (segmentation fault of cppcheck ( {} const const ))
2011-03-15 22:33:14 -04:00
Robert Reif
ba0b3e6451
fix #2651 function typedef with extra ()s
2011-03-15 19:24:30 -04:00
Greg Hewgill
fa868e44ae
Support use of 'this->' when checking operator=() return type
2011-03-15 20:19:30 +13:00
Daniel Marjamäki
07fe361964
Fixed #2638 (Tokenizer::setVarId : varid is wrongly given when unknown macro is used)
2011-03-13 17:52:45 +01:00
Daniel Marjamäki
f26bc6a75c
Fixed #2621 (Segmentation fault for GCC statement expression)
2011-03-13 10:34:54 +01:00
Daniel Marjamäki
ed11a9e3cb
Fixed #2639 (False positive: confusion between struct and function)
2011-03-13 08:38:40 +01:00
Robert Reif
27f4b8b88b
Convert CheckClass::noMemset to use the symbol database to lookup types. This adds better support for namespaces and nested classes.
2011-03-12 22:41:21 -05:00
Daniel Marjamäki
f3728c0b76
Fixed #2647 (False positive: Possible null pointer dereference (member function call))
2011-03-12 20:57:19 +01:00
Daniel Marjamäki
6bd56dbe20
Fixed #2643 (False positive: iterator increment and insert)
2011-03-12 20:29:54 +01:00
Robert Reif
6a2848e50f
fix another false negative introduced by fix for #2641
2011-03-12 12:27:19 -05:00
Robert Reif
384bd96766
fix false negative introduced by fix for #2641
2011-03-12 11:42:58 -05:00
Daniel Marjamäki
0a28b7309f
Fixed #2641 (False positive: Possible null pointer dereference (global pointer, function call))
2011-03-12 15:02:06 +01:00
Daniel Marjamäki
29ab409af5
Merge branch '2390b' of https://github.com/elfring/cppcheck into elfring-2390b
2011-03-12 11:58:24 +01:00
Greg Hewgill
2716b856f4
throwing an exception is a valid immediate exit from switch
2011-03-12 07:27:31 +13:00
Robert Reif
79f0fe7d1c
refactor symbol database and checks to use list of Scope rather than list of Scope pointers
2011-03-10 19:43:29 -05:00
Greg Hewgill
256e7dee21
Allow suppressing all warnings (using *) for specified file or files
2011-03-10 22:00:48 +13:00
Greg Hewgill
1ec6a642dc
Revert "Check for memset on nested structs (ticket #1288 )"
...
Turns out this fix is incomplete.
This reverts commit a084697410
.
2011-03-10 20:19:31 +13:00
Daniel Marjamäki
db48158b28
Suspicious condition: Added new check for conditions that contains assignment+comparison
2011-03-09 22:20:14 +01:00
Daniel Marjamäki
5a0ec56fc2
Fixed #2632 (segmentation fault of cppcheck ( void>(); void>() ))
2011-03-09 21:25:44 +01:00
Daniel Marjamäki
bea3875386
Fixed #2607 (segmentation fault of cppcheck ( struct C {} {} x))
2011-03-09 21:00:28 +01:00
Daniel Marjamäki
be33f6b945
Fixed #2635 (False positive: resource leak)
2011-03-09 19:53:59 +01:00
Greg Hewgill
a084697410
Check for memset on nested structs (ticket #1288 )
2011-03-09 23:02:49 +13:00
Greg Hewgill
3883afcbf4
Check for memset on objects with virtual functions (ticket #607 )
2011-03-09 22:10:39 +13:00
Greg Hewgill
70b4076111
refactor noMemset so it recursively checks parent classes for non-memset-compatible things
2011-03-09 21:29:30 +13:00
Robert Reif
7a7257f200
fix #2630 (segmentation fault of cppcheck ( typedef ... )
2011-03-08 20:24:57 -05:00
Daniel Marjamäki
0b8581e717
Fixed #2620 (Tokenizer::setVarId : wrong handling of member function parameters)
2011-03-08 20:41:41 +01:00
Daniel Marjamäki
bf2362d558
Fixed #2634 (False positive: buffer access out of bounds)
2011-03-08 19:49:56 +01:00
Robert Reif
e305a155af
convert CheckStl::size() to use symbol database, fix false positives, and remove inconclusive
2011-03-07 19:49:43 -05:00
Daniel Marjamäki
06abaf95a5
Incorrect string compare: reduce noise when using strncmp on string literal
2011-03-07 21:37:13 +01:00
Daniel Marjamäki
7496cd412c
Fixed #2631 (Tokenizer::simplifyTemplates: template usage 'std::cout << (foo<double>(r));')
2011-03-07 21:21:06 +01:00
Daniel Marjamäki
8e571c04e4
Fixed #2633 (False positive: Memory leak for tree node)
2011-03-07 20:17:52 +01:00
Robert Reif
d678e4424c
fix #2630 (segmentation fault of cppcheck ( typedef y x () x ))
2011-03-06 18:59:56 -05:00
Daniel Marjamäki
f53ff27b71
Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631
2011-03-06 21:15:42 +01:00
Daniel Marjamäki
6648267ab8
Revert "Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631 "
...
This reverts commit de31ec1e44
.
2011-03-06 21:07:06 +01:00
Daniel Marjamäki
de31ec1e44
Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631
2011-03-06 10:28:51 -08:00
Daniel Marjamäki
779dba9160
Fixed #2612 (segmentation fault of cppcheck ( <><< ))
2011-03-06 09:33:46 +01:00
Robert Reif
0debba4409
finish fixing #2624 (better function pointer support needed)
2011-03-05 21:41:58 -05:00
Robert Reif
7d2fb2ecde
partial fix for #2624 (better function pointer support needed)
2011-03-05 20:48:28 -05:00
Greg Hewgill
b9df7735c5
switchCaseFallThrough is now an inconclusive check
2011-03-06 13:06:30 +13:00
Greg Hewgill
c8394909c0
Relax detection of 'fall through' comment so it only adds a suppression if it immediately precedes 'case' or 'default'
2011-03-06 12:14:10 +13:00
Greg Hewgill
8c245cfd2f
switchCaseFallThrough is now a coding style check (ticket #2623 )
2011-03-06 09:43:27 +13:00
Greg Hewgill
e12ae654a8
Support a few more common styles of "fall through" comment
2011-03-05 18:02:38 +13:00
Greg Hewgill
c30125111a
Merge branch 'switch-case-fall-through'
2011-03-05 00:55:33 +13:00
Greg Hewgill
c5f8a06a97
add TODO for case where simplifyGoto() does the wrong thing
2011-03-05 00:45:59 +13:00
Greg Hewgill
cc7e05a5b0
fix case where fall through comment precedes preprocessor line
2011-03-05 00:45:58 +13:00
Greg Hewgill
8e839a46e8
add TODO for pathological case
2011-03-05 00:45:58 +13:00
Greg Hewgill
70fcbe94f4
avoid warning on first case (in case there are declarations before first case)
2011-03-05 00:45:58 +13:00
Greg Hewgill
610d2efaea
recognise fall through in c style comments
2011-03-05 00:45:58 +13:00
Greg Hewgill
a532a9690e
full implementation of switch case fall through
2011-03-05 00:45:57 +13:00
Greg Hewgill
93ea774484
initial simplistic implementation of switchCaseFallThrough
2011-03-05 00:45:57 +13:00
Robert Reif
f3b2acf585
really fix #2620 reference of typedef of array not simplified properly
2011-03-03 20:32:10 -05:00
Daniel Marjamäki
d7a6e729b8
Tokenizer::simplifyKnownVariables: Don't simplify 'strcpy(a,"ab"); b=a;'. Ticket: #2031
2011-03-03 20:07:56 +01:00
Robert Reif
3f0d0446e0
revert previous commit: simplified code isn't correct
2011-03-03 07:40:43 -05:00
Robert Reif
ee4b4f62d8
fix #2620 reference of typedef of array not simplified properly
2011-03-03 07:27:53 -05:00
Robert Reif
c9b2ab3c26
add debug message for function argument missing varid
2011-03-02 21:08:27 -05:00
Daniel Marjamäki
8e9a1c33ad
Fixed #2618 (Tokenizer::simplifyKnownVariables: Don't use known string value if address is wanted)
2011-03-01 20:20:48 +01:00
Daniel Marjamäki
db04d7b71e
Fixed #2616 (Segmentation fault with unknown macro)
2011-03-01 18:02:50 +01:00
Daniel Marjamäki
a2d2d93958
astyle formatting
2011-03-01 17:58:15 +01:00
Greg Hewgill
baf50c6db1
add TODO for #elif inside #if 0 processing, also for #if 1
2011-03-01 20:24:03 +13:00
Greg Hewgill
2efb2efaca
refactor #if 0 handling to leave preprocessor statements alone
2011-03-01 20:04:11 +13:00
Greg Hewgill
a331516735
handle #if (0) after removing parentheses
2011-03-01 19:50:17 +13:00
Greg Hewgill
31c56d7353
handle embedded whitespace in #if 0 processing
2011-03-01 19:32:47 +13:00
Greg Hewgill
87fd55b155
test case for #if 0 exclusion
2011-03-01 19:30:42 +13:00
Robert Reif
92efbd748e
fix #2595 bitfield fix for case x: break; and default: break;
2011-02-28 19:35:00 -05:00
Daniel Marjamäki
893b84a87c
Fixed #2615 (Segmentation fault in cppcheck 1.47)
2011-02-28 20:29:34 +01:00
Zachary Blair
e1b2569b81
Fixed #432 (New check: wrong usage of ! operator in conditions)
2011-02-27 12:30:22 -08:00
Robert Reif
962183f964
add an array flag to symbol database Variable class
2011-02-27 10:21:14 -05:00
Daniel Marjamäki
c1c9b96bb6
Fixed #2031 (Tokenizer: simplify known value (string has known value after strcpy))
2011-02-26 21:11:56 +01:00
Daniel Marjamäki
92ab1ef8e7
fix
2011-02-26 20:08:37 +01:00
Daniel Marjamäki
ab2bf0ee0c
Fixed #2575 (false positive: Preprocessor does not ignore #include within #if 0 block)
2011-02-26 10:04:38 -08:00
Daniel Marjamäki
32a49235e3
Fixed #2578 (Preprocessor does not correctly handle #define A 0 / #if A)
2011-02-23 13:08:24 -08:00
Daniel Marjamäki
daf0e7c37d
Fixed #2604 (Segmentation fault of cppcheck ( sizeof <= A ))
2011-02-23 20:44:14 +01:00
Greg Hewgill
b26777c962
Merge branch 'cmdline-suppress'
2011-02-23 21:34:09 +13:00
Greg Hewgill
22210e0255
add --suppress= command line option
2011-02-23 20:10:32 +13:00
Robert Reif
d1f7a8aca4
fix #2403 (simplifyTypedef: array of function pointers) Internal error message
2011-02-22 22:11:17 -05:00
Reijo Tomperi
7f9dc42ff1
Fix test array_index_24() to share code with environments where plain char is either signed or unsigned.
...
This was done, because that particular test has been already fixed a couple of times and it is still broken in some systems.
2011-02-22 21:46:12 +02:00
Daniel Marjamäki
9983aa5721
Fixed #2605 (cppcheck hangs with 100% cpu load ( #define = ))
2011-02-22 19:55:02 +01:00
Robert Reif
dd12fc177f
fix #2603 (segmentation fault of cppcheck ( typedef constexpr))
2011-02-22 07:48:34 -05:00
Robert Reif
703448171a
fix #2601 (segmentation fault of cppcheck)
2011-02-22 07:02:15 -05:00
Robert Reif
ba6c2ca310
fix #2602 (segmentation fault of cppcheck ( class A {A& operator=(const A&); }; ))
2011-02-22 06:47:28 -05:00
Robert Reif
4e1ce93104
fix #2600 (segmentation fault of cppcheck ( enum{const} ))
2011-02-21 19:30:40 -05:00
Robert Reif
999646fca6
fix #2599 (segmentation fault of cppcheck ( sizeof ))
2011-02-21 17:49:30 -05:00
Robert Reif
5f84272a52
fix segfault: #2591 (cppcheck hangs with 100% cpu load ( class A : ))
2011-02-21 14:25:35 -05:00
Robert Reif
5984b6b53f
fix #2595 (False positive Technically the member function 'A::foo' can be const)
2011-02-20 20:01:54 -05:00
Robert Reif
763763fa9b
fix bitfields to support non-numeric bitfield width
2011-02-20 18:22:49 -05:00
Daniel Marjamäki
bfe28d3b26
Fixed #2597 (False positive: Buffer access out-of-bounds for u_char, uint*_t, ...)
2011-02-20 21:24:57 +01:00
Daniel Marjamäki
c3fba356c0
Fixed #2563 (#if equality testing does not ignore parentheses)
2011-02-20 20:57:28 +01:00
Daniel Marjamäki
f6e6fa685e
Preprocessor: Added TODO test case for #2563
2011-02-20 20:11:51 +01:00
Daniel Marjamäki
7f67438d99
Null pointer: Added TODO test case. Ticket: #2379
2011-02-20 19:45:34 +01:00
Daniel Marjamäki
63c003f92e
Tokenizer: fixed so that 'p=&x; if(p)' is simplified to 'p=&x;if(&x)'. Ticket: #2596
2011-02-20 18:18:27 +01:00
Daniel Marjamäki
7894d86132
Null pointers: Fixed false negative for such code: 'if (p && *p) {} else { *p=0; }'. Ticket: #2379
2011-02-20 14:38:49 +01:00
Daniel Marjamäki
1cfb18be08
astyle formatting
2011-02-20 12:22:01 +01:00
Daniel Marjamäki
46f4e46d30
Tokenizer::simplifyTemplates: Better handling for multi-token template arguments such as 'Foo<std::string>'
2011-02-20 12:17:05 +01:00
Robert Reif
fef1142997
fix #2592 (False positive: 'operator=' should return reference to self)
2011-02-19 20:02:16 -05:00
Greg Hewgill
d20987c3da
Merge branch 'inline-suppression-c-style'
2011-02-20 13:26:35 +13:00
Greg Hewgill
98ab34b2b5
Support cppcheck-suppression in C style comments
2011-02-20 11:44:42 +13:00
Daniel Marjamäki
5f0206725b
Null pointers: Fixed false negative for such code 'if (p && *p==0) {} *p = 0;'. Ticket: #2379
2011-02-19 21:28:18 +01:00
Daniel Marjamäki
29d05cf5f2
Null pointers: Fixed false negative for such code: 'abc->a = 0; if (abc && ..'. Ticket: #2379
2011-02-19 21:10:31 +01:00
Daniel Marjamäki
e7ef1b3627
Null pointer: fixed false negative when dereferencing struct and then checking if it's null. Ticket: #2379
2011-02-19 21:01:38 +01:00
Robert Reif
e6eb160395
fix [B#2589 (segmentation fault of cppcheck (struct B : A))
2011-02-19 14:38:00 -05:00
Daniel Marjamäki
caca6e94e6
Fixed #2231 (uninitialized variable: undetected when initialization in for loop)
2011-02-19 20:19:46 +01:00
Robert Reif
77fe9858e2
fix #2587 (Spurious warning about struct hiding typedef)
2011-02-19 14:18:37 -05:00
Daniel Marjamäki
9a760b9654
Fixed #2582 (segmentation fault of cppcheck ( if() ))
2011-02-18 20:05:44 +01:00
Daniel Marjamäki
dfba4b7332
Fixed #2585 (segmentation fault of cppcheck (CheckOther::clarifyCalculation))
2011-02-17 21:30:59 +01:00
Daniel Marjamäki
cf2a04377e
Fixed #2586 (segmentation fault of cppcheck (template<>))
2011-02-17 21:15:17 +01:00
Daniel Marjamäki
96c3ab87f2
astyle formatting
2011-02-17 21:07:45 +01:00
Greg Hewgill
e2581da30c
Merge branch 'unmatched-suppressions'
2011-02-17 21:46:43 +13:00
Greg Hewgill
a4de6a3455
be sure to list unmatched suppressions only for the currently processed file
2011-02-17 21:46:14 +13:00
Daniel Marjamäki
53aaf22633
CheckClass::noMemset: Added TODO test case
2011-02-16 21:31:35 +01:00
Daniel Marjamäki
54e0b60cc5
Fixed #2584 (false positive 'variable n is never used')
2011-02-16 20:33:24 +01:00
Greg Hewgill
5d74325015
implement unmatchedSuppression information message
2011-02-16 23:02:37 +13:00
Raphael Geissert
5998ec4af9
Really fix the build failure this time
2011-02-15 14:10:56 -06:00
Robert Reif
218464df89
fix #2580 (false postive with Unused private function)
2011-02-14 19:50:13 -05:00
Daniel Marjamäki
0ed0d07714
Tokenizer::simplifyCalculations: basic handling of bitwise operators
2011-02-14 20:43:26 +01:00
Robert Reif
cdd8d3f785
Really fix #2348 perl-tk
2011-02-13 19:02:57 -05:00
Daniel Marjamäki
aacb94c427
Revert "Buffer overruns: Removed TODO test case. We intentionally don't check struct/class arrays fully to avoid false positives"
...
This reverts commit 87cc42e6f0
.
2011-02-13 22:48:26 +01:00
Daniel Marjamäki
0d2d0c864a
Tokenizer::simplifyKnownVariables: Fixed TODO testcases (better handling of comparisons)
2011-02-13 22:24:45 +01:00
Daniel Marjamäki
2182ede486
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of ^)
2011-02-13 22:13:19 +01:00
Daniel Marjamäki
472d8154ca
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of |)
2011-02-13 22:09:04 +01:00
Daniel Marjamäki
467c984cd1
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of %)
2011-02-13 22:03:46 +01:00