Daniel Marjamäki
|
0dfbbd0f80
|
Fixed #5479 (Tokenizer: don't remove parentheses in code 'a<b<c>>(2)')
|
2014-05-11 08:22:28 +02:00 |
PKEuS
|
edd84c0906
|
Fixed #5773: Don't prepend "std::" to function definitions
|
2014-05-09 21:58:28 +02:00 |
Daniel Marjamäki
|
1541e27e4a
|
Fixed #5533 (False positive: 'Assignment of function parameter has no effect outside the function.')
|
2014-05-09 18:43:29 +02:00 |
Simon Martin
|
512e22d1ba
|
Ticket #5315: Memory leak analysis confused by ((variable).attribute) notation.
|
2014-05-08 20:58:24 +02:00 |
Robert Reif
|
ae96491d6c
|
Fixed #5756 (declspec(nothrow) not supported)
|
2014-05-04 20:47:20 +02:00 |
Daniel Marjamäki
|
7d583e639c
|
AST: Fixed handling of '(((typeof(x))*)0)'
|
2014-05-04 18:36:04 +02:00 |
Simon Martin
|
b03f36cd71
|
Ticket #5709: Comma operator not properly tokenized.
|
2014-05-03 21:35:04 +02:00 |
Alexander Mai
|
4815e3c4c5
|
Fix some segmentation faults seen while reducing #5743 (sorry, no test cases supplied)
|
2014-04-29 20:16:50 +02:00 |
Daniel Marjamäki
|
36895674ce
|
Refactoring. Simplified condition using Token::Match.
|
2014-04-29 04:45:45 +02:00 |
Robert Reif
|
4de9e29adc
|
Fixed #5706 (operators with noexcept broken)
|
2014-04-29 04:37:13 +02:00 |
Daniel Marjamäki
|
9c74d914d7
|
Fixed #5667 (Tokenizer: simplify 'void (X::*f)()' to 'void *f')
|
2014-04-27 19:49:21 +02:00 |
Robert Reif
|
ca9386859b
|
Tokenizer: replace ') const| {' pattern to detect function start
|
2014-04-26 18:31:56 +02:00 |
Robert Reif
|
cd6332d960
|
Tokenizer: replace ') const| {' pattern to detect function start
|
2014-04-26 18:30:09 +02:00 |
Daniel Marjamäki
|
9406f3428a
|
IncompleteStatement: Fixed false positive when '({..})' blocks are used
|
2014-04-24 06:32:29 +02:00 |
Daniel Marjamäki
|
aea528c763
|
enum: don't simplify enum constant that is assigned
|
2014-04-23 17:10:17 +02:00 |
Daniel Marjamäki
|
272fcc18d8
|
Don't warn about redundant number statement in '({ do_something(); 0; })'
|
2014-04-23 16:23:19 +02:00 |
Daniel Marjamäki
|
52e0e4453b
|
Fixed #5646 (FP: pointer to array is not assigned a value.)
|
2014-04-21 16:14:49 +02:00 |
Robert Reif
|
6ff5de2118
|
Fixed #5697 (Check for throw in __attribute__((nothrow)) function)
|
2014-04-20 20:40:55 +02:00 |
Daniel Marjamäki
|
6146c8f5bb
|
Tokenizer: Fixed bad simplifyComma for code 'return a ? b = c , d : e ;'
|
2014-04-18 13:38:48 +02:00 |
Daniel Marjamäki
|
064844f8db
|
Tokenizer: Fixed bad simplifyComma for code 'a ? b = c , d : e ;'
|
2014-04-17 18:47:55 +02:00 |
PKEuS
|
076f7a7542
|
Fixed some coverity findings about dead code, fixed a misleading comment
|
2014-04-14 22:46:51 +02:00 |
Philipp Kloke
|
dfd9d32c4b
|
Refactorization: Removed whitespaces at the end of a token
Removed a redundant 'void'
|
2014-04-12 23:41:46 +02:00 |
Daniel Marjamäki
|
9d51bfd015
|
Fixed #5397 (False positive: Same expression on both sides of '&')
|
2014-04-12 16:06:31 +02:00 |
PKEuS
|
7ffc313748
|
Save "->" in Token::originalName if simplified to "."; Fix false positive #4890.
|
2014-04-12 12:04:56 +02:00 |
PKEuS
|
9c921ab657
|
Fixed handling of member function pointers in setVarId and SymbolDatabase (#4577)
|
2014-04-12 12:04:55 +02:00 |
PKEuS
|
83f4657e69
|
Fixed remaining issue in #3503: Member function taking a function pointer must not be "simplified" to a variable initialization
|
2014-04-12 12:04:55 +02:00 |
PKEuS
|
92839ab4d2
|
Refactorizations:
- Rearranged members of Value to reduce structures size
- Removed redundant ctor of Value
- Fixed VS warning in tokenize.cpp
|
2014-04-12 12:04:55 +02:00 |
Robert Reif
|
847d28d283
|
Fixed #5638 (is there any plan to check noexcept correctness?)
|
2014-04-10 16:17:10 +02:00 |
Daniel Marjamäki
|
225fb96554
|
Fixed #5627 (False positive assignBoolToPointer)
|
2014-03-31 15:55:54 +02:00 |
Daniel Marjamäki
|
088664d626
|
Fixed compiler warning 'conversion from unsigned long to unsigned int, may loose value'
|
2014-03-31 06:50:59 +02:00 |
PKEuS
|
060f9035c9
|
Fixed crashs on garbage code (#5604)
|
2014-03-30 11:38:01 +02:00 |
PKEuS
|
aa527cb408
|
Refactorization: Store sizes as int, not as string in Tokenizer::simplifySizeof().
|
2014-03-30 11:21:40 +02:00 |
PKEuS
|
4e19645d62
|
Added C++11 keywords / C11 types 'char16_t' and 'char32_t' (#3301)
|
2014-03-28 18:24:39 +01:00 |
PKEuS
|
a16d631813
|
Further improvements to setVarId and function/array pointer detection in SymbolDatabase (#2872)
|
2014-03-28 17:43:40 +01:00 |
PKEuS
|
1c58628223
|
Handle pointer/reference to array in setVarId (#2645)
|
2014-03-28 16:10:27 +01:00 |
PKEuS
|
efe3f834be
|
Refactorized handling of syntaxError: Print debug output, removed a few return values that are no longer required
|
2014-03-27 18:41:52 +01:00 |
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 |