Daniel Marjamäki
|
8c3f2c2ad9
|
Revert 894a65b0 . abstract interpretation of for loops. there was some crashes and performance problems. I will fix those problems when I have time and recommit.
|
2014-03-16 08:38:52 +01:00 |
Daniel Marjamäki
|
894a65b0b1
|
ValueFlow: Refactor the for-loop handling. Use abstract interpretation.
|
2014-03-15 11:29:33 +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 |
Daniel Marjamäki
|
87c4508954
|
Spell fix: dont => do not
|
2014-02-27 16:40:42 +01:00 |
Daniel Marjamäki
|
f6b42633e8
|
Fixed #5434 (FP: Out-of-bounds access with ternary operator in loop)
|
2014-02-22 17:59:12 +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 |
Daniel Marjamäki
|
690c37633b
|
ValueFlow: Fixed bad values after break/continue
|
2014-02-17 20:07:38 +01:00 |
Lauri Nurmi
|
70a67eaf85
|
Change some more 0 literals into nullptr.
|
2014-02-16 13:38:50 +02:00 |
Daniel Marjamäki
|
23efc68dd7
|
use nullptr
|
2014-02-16 10:32:10 +01:00 |
Daniel Marjamäki
|
fd3a8a2a18
|
Update copyright
|
2014-02-15 07:45:39 +01:00 |
Daniel Marjamäki
|
b3bfd5014d
|
Fixed #5433 (FP:Possible null pointer dereference)
|
2014-01-31 15:43:34 +01:00 |
Lucas Manuel Rodriguez
|
ad0269eeeb
|
Refactor checks using Variable::isStlType()
|
2014-01-30 01:26:48 -03:00 |
Daniel Marjamäki
|
be082a8e4a
|
value flow: added bailout for conditional return/continue/break when number_of_if is bigger than 0
|
2014-01-26 15:50:25 +01:00 |
Daniel Marjamäki
|
c5971b7137
|
value flow: fix fp when conditional value is assigned
|
2014-01-25 20:14:49 +01:00 |
Daniel Marjamäki
|
c1e35e1df1
|
value flow: fixed multivariable problem in condition
|
2014-01-25 19:13:33 +01:00 |
Daniel Marjamäki
|
d227ed245f
|
cleanup
|
2014-01-25 18:51:55 +01:00 |
Daniel Marjamäki
|
df0995edf5
|
Fixed #5403 (Value flow: FP because post increment/decrement is not handled correctly)
|
2014-01-25 18:31:02 +01:00 |
Daniel Marjamäki
|
35b51468cb
|
value flow: Fixed FP for division then check in for loop: 'for (a=b/x;x>0;x--)'
|
2014-01-25 09:22:32 +01:00 |
Daniel Marjamäki
|
4647a9fc93
|
Fixed #5401 (value flow: fp when there are increment/decrement)
|
2014-01-24 18:22:38 +01:00 |
Daniel Marjamäki
|
1cac7e1686
|
value flow: better handling in function call bailout of casting address of variable
|
2014-01-24 17:47:49 +01:00 |
Daniel Marjamäki
|
135998abba
|
value flow: use const when possible
|
2014-01-24 06:16:23 +01:00 |
Daniel Marjamäki
|
85b6495cce
|
value flow: fixed comments
|
2014-01-23 19:40:47 +01:00 |
Daniel Marjamäki
|
f3f7e6d302
|
value flow: replacing executionpath checking of null pointers
|
2014-01-22 20:16:31 +01:00 |
Daniel Marjamäki
|
43db1ee797
|
value flow: use more specific bailouts when analysing value flow after assignment
|
2014-01-22 06:38:25 +01:00 |
Daniel Marjamäki
|
cc38dec3ad
|
value flow: a bit better handling of assigned variable
|
2014-01-22 06:10:17 +01:00 |
Daniel Marjamäki
|
2b7a991c1a
|
temporarily hide gcc warnings
|
2014-01-21 21:17:03 +01:00 |
Daniel Marjamäki
|
a27ccbd0f8
|
value flow: start implementing value flow analysis of assigned value
|
2014-01-21 21:13:49 +01:00 |
Daniel Marjamäki
|
b91f42453b
|
value flow: improved handling of cast
|
2014-01-20 22:26:55 +01:00 |
Daniel Marjamäki
|
bb3cc67aaa
|
value flow: improved calculations that depends on variable
|
2014-01-20 21:45:30 +01:00 |
Daniel Marjamäki
|
7ff7bc1c2e
|
Fixed #5376 (false positive: zerodivcond (style) Either the condition 'B>0' is useless or there is division by zero)
|
2014-01-19 20:16:55 +01:00 |
Daniel Marjamäki
|
84c5f47eb1
|
value flow: bailout for class variables that are non-const
|
2014-01-19 11:55:02 +01:00 |
Daniel Marjamäki
|
ccda78f347
|
value flow: fixed todo assertion for handling of conditions
|
2014-01-19 09:31:40 +01:00 |
Daniel Marjamäki
|
cdaa7abf7e
|
value flow: better handling of conditional code below || && ?: operators
|
2014-01-19 09:05:48 +01:00 |
Daniel Marjamäki
|
2d0a68cac2
|
cleanup redundant variable inconclusive
|
2014-01-18 19:51:57 +01:00 |
Daniel Marjamäki
|
77f3f6c21a
|
valueflow: added setTokenValue that perform calculations using set value
|
2014-01-18 19:30:44 +01:00 |
Daniel Marjamäki
|
c7032a8867
|
value flow: improved handling of loops
|
2014-01-18 11:54:00 +01:00 |
Daniel Marjamäki
|
57d318b2e5
|
valueflow: better handling of increment/decrement
|
2014-01-17 19:28:28 +01:00 |
Daniel Marjamäki
|
141e089329
|
ast: different handling of for loops. create a syntax tree for whole 'f(a;b;c)'.
|
2014-01-15 17:32:14 +01:00 |
Daniel Marjamäki
|
c547c9a108
|
value flow: fixed fp when variable is used in for-loop condition
|
2014-01-14 17:57:50 +01:00 |
Daniel Marjamäki
|
c1c2f4bbc6
|
value flow: fixed crash reported in #5343 when typeStartToken and typeEndToken are misplaced.
|
2014-01-13 20:54:09 +01:00 |
Daniel Marjamäki
|
7981e3d38f
|
value flow: fix fp when gotos are used
|
2014-01-13 16:07:25 +01:00 |
Daniel Marjamäki
|
b1bbb23225
|
value flow: fixed fp when checking symboldatabase
|
2014-01-13 05:52:28 +01:00 |
Daniel Marjamäki
|
8b6f001f94
|
value flow: inconclusive handling of unknown functions
|
2014-01-12 19:48:20 +01:00 |
Daniel Marjamäki
|
2e67ca06c0
|
value flow: some simplifications in unknown functions when there is library configuration
|
2014-01-12 18:19:00 +01:00 |
Daniel Marjamäki
|
d700114edf
|
value flow: bailout if condition is defined by macro
|
2014-01-12 17:16:51 +01:00 |
Daniel Marjamäki
|
3d79613f2b
|
value flow: more bailouts when return/break/continue/goto is reached. TODO: handle these better.
|
2014-01-12 15:07:58 +01:00 |
Daniel Marjamäki
|
155990cb0e
|
value flow: improved checking of do-while loops for non-local variables
|
2014-01-12 15:02:58 +01:00 |
Daniel Marjamäki
|
5b679fc732
|
value flow: fixed fp for data member
|
2014-01-12 14:37:26 +01:00 |
Daniel Marjamäki
|
21d317b7d6
|
value flow: fixed redundant null pointer check
|
2014-01-12 12:38:41 +01:00 |
Daniel Marjamäki
|
d8262963d9
|
value flow: condition in loop, bailout valueflow analysis before loop if there is assignment inside the loop
|
2014-01-12 11:58:10 +01:00 |