PKEuS
|
e8c7a723f5
|
Fixed five new true positives in cppcheck, silenced one new false positive (see #5618)
|
2014-03-27 15:50:30 +01:00 |
PKEuS
|
7e4081f7f5
|
Treat syntaxError and cppcheckError as InternalErrors (throw as exception, #4268)
|
2014-03-27 13:15:21 +01:00 |
PKEuS
|
379807a8ea
|
Fixed TODO_ASSERT_EQUAL and #5614 caused by bad simplification of return values.
|
2014-03-27 11:04:31 +01:00 |
PKEuS
|
5f2067e401
|
Refactorized dead code elimination:
- Use library to get noreturn functions
- Fixed do-while simplification (#4940)
|
2014-03-23 10:59:41 +01:00 |
PKEuS
|
6395cb9b95
|
Syntax error on invalid enum (#5600)
|
2014-03-22 19:31:01 +01:00 |
PKEuS
|
560cf397d3
|
Fixed C++11 right angle bracket issue #5150
|
2014-03-22 13:34:15 +01:00 |
Robert Reif
|
806ef44509
|
Fixed #5328 (Does not handle __attribute((xxx)) in typedefs)
|
2014-03-19 05:38:23 +01:00 |
PKEuS
|
b564986d5d
|
Added missing casts causing assertion failures on Windows (#5391)
-> Changed much more occurences, especially in preprocessor.cpp.
|
2014-03-18 21:41:47 +01:00 |
Daniel Marjamäki
|
ebb0c50aac
|
Tokenizer: Fix crash in Token::previous() method ('this' is NULL)
|
2014-03-18 20:29:37 +01:00 |
PKEuS
|
a3f5beb75d
|
Fixed problems with code "enum class { };" (which is valid C)
|
2014-03-18 16:23:30 +01:00 |
Daniel Marjamäki
|
177bf6fcb3
|
Fixed #5244 (FP: (error) Uninitialized variable: ptr - initialization within if-clause)
|
2014-03-18 06:37:19 +01:00 |
PKEuS
|
5f67bc1b0a
|
Fixed varId problem #5293 (and its duplicate #5577): Classes inside functions are non-executable scopes.
|
2014-03-17 16:15:42 +01:00 |
PKEuS
|
521734faa2
|
Fixed setVarId-Bugs #5294 and #5295.
|
2014-03-17 14:19:46 +01:00 |
PKEuS
|
50f6bb5d36
|
Fixed crash #5511.
|
2014-03-17 11:50:45 +01:00 |
Lucas Manuel Rodriguez
|
9a08da17be
|
Fixed #4928 (C++ operator aliases result in false 'assigned a value that is never used' warning)
|
2014-03-16 14:51:05 -03:00 |
PKEuS
|
e05fb847df
|
Fixed #3852: Support simplification of C++11 "enum class", fixed existing simplifications
|
2014-03-16 18:24:46 +01:00 |
PKEuS
|
6b16b519a2
|
Fixed crash on wrong __attribute__((constructor)) syntax
|
2014-03-16 16:39:07 +01:00 |
Robert Reif
|
2ba3a36f2c
|
Partial fix for #5555. Improved pure/const attributes handling
|
2014-03-14 19:06:05 +01:00 |
Daniel Marjamäki
|
b2708987c3
|
Merge pull request #264 from thomasjfox/simplematch
Use simple match where possible
|
2014-03-14 17:51:45 +01:00 |
Alexander Mai
|
ff5fc82704
|
Fixed #4722 (Debugging enhancement: Tokenizer::simplifyTokenList() shall continue)
|
2014-03-14 17:48:20 +01:00 |
Thomas Jarosch
|
93341f4449
|
Use simple match where possible
Fixes these warnings found by "--enable=internal":
[lib/checkclass.cpp:972]: (warning) Found simple pattern inside Token::Match() call: "* *"
[lib/checkbufferoverrun.cpp:635]: (warning) Found simple pattern inside Token::Match() call: "."
[lib/checkbufferoverrun.cpp:1397]: (warning) Found simple pattern inside Token::Match() call: ";"
[lib/checksizeof.cpp:299]: (warning) Found simple pattern inside Token::Match() call: "."
[lib/checksizeof.cpp:301]: (warning) Found simple pattern inside Token::Match() call: ")"
[lib/checksizeof.cpp:303]: (warning) Found simple pattern inside Token::Match() call: "]"
[lib/checksizeof.cpp:318]: (warning) Found simple pattern inside Token::Match() call: ")"
[lib/checknullpointer.cpp:413]: (warning) Found simple pattern inside Token::Match() call: "delete"
[lib/checkio.cpp:1336]: (warning) Found simple pattern inside Token::Match() call: "> ("
[lib/checkstl.cpp:1509]: (warning) Found simple pattern inside Token::findmatch() call: ";"
[lib/checkstl.cpp:1512]: (warning) Found simple pattern inside Token::findmatch() call: ";"
[lib/checkstl.cpp:1594]: (warning) Found simple pattern inside Token::Match() call: "="
[lib/checkstl.cpp:1598]: (warning) Found simple pattern inside Token::Match() call: "] ="
[lib/checkunusedvar.cpp:755]: (warning) Found simple pattern inside Token::Match() call: "goto"
[lib/checkunusedvar.cpp:793]: (warning) Found simple pattern inside Token::Match() call: "="
[lib/checkuninitvar.cpp:376]: (warning) Found simple pattern inside Token::Match() call: "> ("
[lib/checkother.cpp:86]: (warning) Found simple pattern inside Token::Match() call: "> ("
[lib/checkother.cpp:2181]: (warning) Found simple pattern inside Token::Match() call: "> {"
[lib/valueflow.cpp:54]: (warning) Found simple pattern inside Token::Match() call: "&"
[lib/valueflow.cpp:409]: (warning) Found simple pattern inside Token::Match() call: "do"
[lib/valueflow.cpp:425]: (warning) Found simple pattern inside Token::Match() call: ") {"
[lib/valueflow.cpp:487]: (warning) Found simple pattern inside Token::Match() call: ") {"
[lib/valueflow.cpp:511]: (warning) Found simple pattern inside Token::Match() call: "} else {"
[lib/valueflow.cpp:615]: (warning) Found simple pattern inside Token::Match() call: "for ("
[lib/symboldatabase.cpp:80]: (warning) Found simple pattern inside Token::Match() call: "= {"
[lib/symboldatabase.cpp:1069]: (warning) Found simple pattern inside Token::Match() call: "std ::"
[lib/tokenize.cpp:2207]: (warning) Found simple pattern inside Token::Match() call: "< >"
[lib/tokenize.cpp:2730]: (warning) Found simple pattern inside Token::Match() call: ";"
[lib/tokenize.cpp:4234]: (warning) Found simple pattern inside Token::Match() call: "try {"
[lib/tokenize.cpp:4235]: (warning) Found simple pattern inside Token::Match() call: "} catch ("
[lib/tokenize.cpp:5500]: (warning) Found simple pattern inside Token::Match() call: "INT8"
[lib/tokenize.cpp:5752]: (warning) Found simple pattern inside Token::Match() call: "}"
[lib/tokenize.cpp:5752]: (warning) Found simple pattern inside Token::Match() call: "do"
|
2014-03-14 16:27:47 +01:00 |
Robert Reif
|
8c993c1363
|
Partial fix for #5555. Remember function attributes: pure, const, constructor, destructor
|
2014-03-14 05:40:17 +01:00 |
Robert Reif
|
cb1fc06a80
|
Fixed #5079 (CheckIO::checkFileUsage doesn't support wide char and microsoft functions)
|
2014-03-12 19:22:44 +01:00 |
Sam Truscott
|
385478d89e
|
Reflection no longer part of markup. Some tokeniser not done on markup.
|
2014-03-11 15:57:28 +01:00 |
Frank Zingsheim
|
6e9e20d5b1
|
Optimization Tokenizer::simplifyMathFunctions. Make an a priori check whether the token combination can be a function call at all.
|
2014-03-09 13:22:58 +01:00 |
Simon Martin
|
a3d1cac79c
|
Ticket #5373: Keep track whether tokens come from a C or C++ file to properly handle %type% in Token::Match with "delete"
|
2014-03-08 21:26:06 +01:00 |
Daniel Marjamäki
|
87c4508954
|
Spell fix: dont => do not
|
2014-02-27 16:40:42 +01:00 |
Daniel Marjamäki
|
acf5723bdd
|
AST: improved AST printout when --verbose is used
|
2014-02-24 17:22:29 +01:00 |
Daniel Marjamäki
|
34730f623a
|
Fixed #5301 (False positive: (error) Division by zero - variables read from input stream)
|
2014-02-22 12:09:54 +01:00 |
Lauri Nurmi
|
70a67eaf85
|
Change some more 0 literals into nullptr.
|
2014-02-16 13:38:50 +02:00 |
Daniel Marjamäki
|
384ffb4173
|
use nullptr in lib/tokenize.cpp
|
2014-02-15 08:04:54 +01:00 |
Daniel Marjamäki
|
fd3a8a2a18
|
Update copyright
|
2014-02-15 07:45:39 +01:00 |
Daniel Marjamäki
|
abe8439917
|
Fixed #5416 (False positive: Array accessed at index, which is out of bounds.)
|
2014-01-28 16:55:10 +01:00 |
Daniel Marjamäki
|
b91f42453b
|
value flow: improved handling of cast
|
2014-01-20 22:26:55 +01:00 |
Daniel Marjamäki
|
498cdb8610
|
added debug output for the value flow
|
2014-01-18 09:58:32 +01:00 |
Daniel Marjamäki
|
30cae358d8
|
Removed the --value-flow flag. ValueFlow analysis will always be enabled from now on.
|
2014-01-17 18:07:05 +01:00 |
Daniel Marjamäki
|
311059f603
|
Tokenizer: Removed commented-out simplification
|
2014-01-17 17:44:33 +01:00 |
Daniel Marjamäki
|
0203a4a6f5
|
Tokenizer: Removed simplifyGoto as it's the cause of various FPs I see
|
2014-01-17 17:36:45 +01:00 |
Daniel Marjamäki
|
4eb746d7cc
|
Tokenizer: Removed simplifyComparisonOrder
|
2014-01-17 17:25:56 +01:00 |
Daniel Marjamäki
|
ab866be03a
|
Tokenizer: Move 'else if' simplification to tokenize
|
2014-01-12 17:47:02 +01:00 |
Heinrich Schuchardt
|
f6510a6b45
|
Fixed #5339 (Tokenizer::setVarId : function-pointer function argument not getting variable id, causing FP)
|
2014-01-12 15:15:09 +01:00 |
Daniel Marjamäki
|
752e9d0fb7
|
Tokenizer::varId: Fixed wrong varid for shadow types with same names as class members
|
2014-01-09 21:44:29 +01:00 |
Daniel Marjamäki
|
4f11086505
|
Tokenizer: Don't remove parentheses in 'a?b:(c>0?d:e)'
|
2014-01-08 20:53:33 +01:00 |
Martin Ettl
|
fa04273473
|
Merge branch 'master' of https://github.com/danmar/cppcheck
|
2014-01-06 18:51:15 +01:00 |
Zachary Blair
|
4a2da09491
|
minor cleanups. initialize members in initialization list
|
2014-01-06 08:02:04 +01:00 |
Daniel Marjamäki
|
afaf1473a8
|
Value flow: refactorings, write debug warning if iterating too far
|
2014-01-05 20:06:46 +01:00 |
Daniel Marjamäki
|
29c64cc34c
|
Merge pull request #209 from simartin/ticket_5266
Ticket #5266: Properly tokenize "complex" static variable declarations.
|
2014-01-05 04:44:22 -08:00 |
Daniel Marjamäki
|
d8270c710a
|
Add new experimental value flow analysis
|
2014-01-04 20:57:02 +01:00 |
Simon Martin
|
d2cf9fd77c
|
Ticket #5266: Properly tokenize "complex" static variable declarations.
|
2014-01-04 10:49:27 +01:00 |
Simon Martin
|
6019f45249
|
Ticket #5201: Get rid of internal error when checking valid C input for memory leaks.
|
2014-01-03 23:27:56 +01:00 |
Martin Ettl
|
5a5277f2fa
|
Tokenizer::simplifyVarDecl: Fixed crash when checking garbage code.
|
2014-01-01 19:15:32 +01:00 |
Martin Ettl
|
0dccd3a632
|
Tokenizer:simplifyFlowControl(): Fixed crash on garbage code.
|
2014-01-01 19:04:02 +01:00 |
Daniel Marjamäki
|
32be4094e7
|
Symbol database: only put variables in variable list
|
2013-12-31 17:51:56 +01:00 |
PKEuS
|
4f0121ee2f
|
Splitted simplification out of tokenize()
|
2013-12-30 17:45:28 +01:00 |
Daniel Marjamäki
|
41e4194573
|
Tokenizer: set links for <> in 'a=new b<c>;' code
|
2013-12-29 15:37:27 +01:00 |
Daniel Marjamäki
|
596b4bd405
|
astyle formatting
|
2013-12-23 12:26:12 +01:00 |
Simon Martin
|
02dc49624d
|
Ticket #5214: Don't read out of bounds upon invalid ternary operator.
|
2013-12-22 18:13:52 +01:00 |
Daniel Marjamäki
|
e2bc99aa24
|
Fixed #5154 (Tokenizer: wrong handling of msvc 'for each')
|
2013-12-17 06:34:27 +01:00 |
Daniel Marjamäki
|
762806499f
|
Fixed #5182 (Tokenizer::simplifyEnum: template function call as enum value)
|
2013-12-16 07:07:00 +01:00 |
Daniel Marjamäki
|
7938692b01
|
Fixed #5212 (Tokenizer::simplifyEnum bad simplification of enum value (1<<0)|(1<<1))
|
2013-12-15 07:47:04 +01:00 |
Daniel Marjamäki
|
f599e3184c
|
Fixed #5174 (Tokenizer: member function 'abort' returns)
|
2013-12-14 11:12:48 +01:00 |
Daniel Marjamäki
|
5ba02d2fdd
|
AST: Always use AST
|
2013-12-09 18:06:19 +01:00 |
Daniel Marjamäki
|
0c5282b1af
|
Fixed #5081 (False positive: (error) Uninitialized variable: f (handling of C-cast not correct))
|
2013-11-28 16:04:47 +01:00 |
Alexander Mai
|
38b2f6b9b0
|
Fixed #5168 (segmentation fault (invalid code) in Tokenizer::simplifyVarDecl)
|
2013-11-24 11:07:11 +01:00 |
Simon Martin
|
9817da00ec
|
Ticket #5168: Don't crash when simplifying bit-fields for invalid code.
|
2013-11-23 20:33:03 +01:00 |
orbitcowboy
|
b74db1b791
|
Tokenize:simplifyFloatCast(): added corresponding suffix, incase of type 'float'.
|
2013-11-20 23:58:43 -08:00 |
Daniel Marjamäki
|
ef108c49ec
|
Tokenizer: simplify enums better. add parentheses to enforce operator precedence.
|
2013-11-20 18:04:28 +01:00 |
Daniel Marjamäki
|
47b98470eb
|
Tokenizer: Simplify float casts of integer constants
|
2013-11-19 18:07:12 +01:00 |
Daniel Marjamäki
|
2a640a59c2
|
Tokenizer: Improved handling of pointer aliases. This fixes some false negatives.
|
2013-11-16 17:30:04 +01:00 |
Daniel Marjamäki
|
30720affd6
|
Tokenizer::setVarId: Fixed hang when checking libgc
|
2013-11-15 16:16:22 +01:00 |
Daniel Marjamäki
|
7fe51eb58b
|
Fixed #4989 (False positive: Wrong processing of __asm block)
|
2013-11-13 06:04:00 +01:00 |
Martin Ettl
|
347e1eae20
|
Fixed #5162: Tokenizer:simplifyInitVar: Unused pointer value (UNUSED_VALUE) returned_pointer: Pointer tok2 returned by tok2->next() is never used (CID 1124084).
|
2013-11-10 00:40:42 +01:00 |
Daniel Marjamäki
|
b0ce42565e
|
AST: Added experimental new implementations for CheckAssignIf::comparison, CheckOther::checkIncorrectLogicOperator and CheckOther::checkDuplicateExpression
|
2013-11-07 14:38:08 +01:00 |
orbitcowboy
|
929cda6696
|
fixed #5141: Tokenizer: Dereference before null check (Scan.coverity id 1061759)
|
2013-11-04 03:53:23 -08:00 |
Daniel Marjamki
|
bcc8384a95
|
Fixed #5145 (False Positive: Variable 'A' hides enumerator with same name)
|
2013-11-03 09:34:48 +01:00 |
Daniel Marjamäki
|
5f0cfa0ee4
|
Fixed #4983 (False positive warning 'Possible null pointer dereference: lblList - otherwise it is redundant to check it against null.' with sizeof lblList[0])
|
2013-11-02 23:56:10 +01:00 |
Daniel Marjamäki
|
bbdfd8b5c7
|
Make it possible to create AST, by using the --ast flag
|
2013-11-02 18:37:35 +01:00 |
Daniel Marjamäki
|
f0a621a952
|
Tokenizer: Added MAXTIME so cppcheck can be compiled with a hard max time. Will be used for the daca2.
|
2013-11-02 17:31:14 +01:00 |
Daniel Marjamäki
|
d3bd373798
|
Fixed #5131 (False Positive: %u in format string requires 'unsigned int' but the argument type is 'int'.)
|
2013-10-31 17:20:00 +01:00 |
Simon Martin
|
d67722ebdf
|
Ticket #5121: Handle comma separated static variable declarations depending on one another
|
2013-10-30 15:48:00 +01:00 |
orbitcowboy
|
30984ff649
|
Tokenize: improved const correctness of local variables, no functional change.
|
2013-10-25 01:34:53 -07:00 |
orbitcowboy
|
76e092428a
|
Tokenize: improved const correctness of local variables, no functional change.
|
2013-10-25 01:31:55 -07:00 |
Daniel Marjamäki
|
5d7e0aebf4
|
Fixed #5084 (False positive: (style) Same expression on both sides of '&&')
|
2013-10-19 18:04:53 +02:00 |
Robert Reif
|
b41ab8a4d5
|
Fixed #5088 (Token::Match called with varid 0. in libreoffice sd/source/ui/table/TableDesignPane.cxx)
|
2013-10-14 21:05:54 +02:00 |
orbitcowboy
|
9debeab47c
|
Tokenizer:simplifyMathExpressions: fixed false negative patterns for simplification.
|
2013-10-11 11:58:37 -07:00 |
Martin Ettl
|
a674ed1aa9
|
Tokenizer:simplifyMathFunction: added simplifcation for fma[f|l]() functions.
|
2013-10-13 16:28:02 +02:00 |
Martin Ettl
|
e18ebf313f
|
Tokenizer:simplifyMathFunctions: added support for more math functions.
|
2013-10-13 15:41:47 +02:00 |
Martin Ettl
|
cdb47813d5
|
Tokenizer:simplifyMathFunctions: added support for cosh[f|l], cos[f|l] and erfc[f|l] functions.
|
2013-10-13 14:23:10 +02:00 |
orbitcowboy
|
6eaa2f2444
|
Tokenizer:simplifyMathFunctions: added support for acos[f|l] functions.
|
2013-10-09 07:59:32 -07:00 |
Martin Ettl
|
f08325284c
|
Tokenizer:simplifyMathFunctions: added support for acosh[f|l]() functions.
|
2013-10-07 22:10:58 +02:00 |
Daniel Marjamäki
|
c234cace6d
|
Fixed #5064 (Tokenizer::simplifySizeof: Doesn't simplify 'sizeof !! (a==1);' properly)
|
2013-10-06 08:20:10 +02:00 |
Daniel Marjamäki
|
9cfc1030cd
|
Tokenizer: Optimised loop
|
2013-10-06 07:46:35 +02:00 |
Robert Reif
|
44559a1fb2
|
Fixed #5069 (sizeof(void) when variable name is override)
|
2013-10-05 07:40:59 +02:00 |
Robert Reif
|
6c06cdd24d
|
CheckIO fixes. Ticket: #5051
|
2013-10-04 17:30:55 +02:00 |
Martin Ettl
|
a8cf8f0984
|
Tokenizer:simplifyMathFunctions: fixed false positives when simplifying special pow() cases.
|
2013-10-03 22:54:45 +02:00 |
Martin Ettl
|
f8bd33f2bc
|
Tokenizer:simplifyMathFunctions: added support for log()-functions. Improved testcases and documentation. The function simplifyMathFunctions() returns now true in case a simplifcation is made. This function is called within a while loop to guarantee all simplifications are made.
|
2013-10-03 20:52:07 +02:00 |
Martin Ettl
|
548e2f3fbf
|
Tokenizer:simplifyMathExpression: fixed false negatives in simplifying Pythagorean and Hyperbolic identities.
|
2013-10-03 15:41:12 +02:00 |
Robert Reif
|
59de30823e
|
CheckIO: This patch adds support for fprintf_s, fscanf_s and %I. Ticket: #5051
|
2013-10-03 06:37:40 +02:00 |
Robert Reif
|
022e7a0f0f
|
CheckIO: Fix INT_PTR false positive found while checking mpc-hc. Ticket: #5057
|
2013-10-02 04:19:04 +02:00 |
Martin Ettl
|
fa5ee8fd13
|
Tokenizer: simplifyMathFunctions: added more simplifications for exp(), exp2() and log2() functions.
|
2013-10-01 20:30:59 +02:00 |