Paul Fultz II
997803869d
Forward values after assignment in valueFlowReverse ( #2226 )
...
* Forward values after assignment in valueFlowReverse
* Rename variables
* Format
2019-10-03 09:58:57 +02:00
Daniel Marjamäki
b79283306f
ExprEngine: Rename Data::conditions => Data::constraints
2019-10-03 08:48:05 +02:00
Daniel Marjamäki
d916379f9f
ExprEngine: Better handling of if/else
2019-10-02 21:47:00 +02:00
Daniel Marjamäki
7ab22c7176
ExprEngine: Use smt solver Z3
2019-10-02 17:59:04 +02:00
IOBYTE
4ba00d0694
Fix #9381 (alias in namespace not replaced in method declaration) ( #2232 )
2019-10-02 08:11:04 +02:00
Daniel Marjamäki
cf965b72b5
SymbolDatabase: look for functions in anonymous namespaces in the findFunction
2019-10-01 19:09:34 +02:00
Daniel Marjamäki
07b337c580
Removed extra zero division heuristics, they seem redundant as ValueType is used
2019-10-01 17:33:58 +02:00
orbitcowboy
f05e21efa8
Formatted the code, there are no functional changes [ci skip].
2019-10-01 08:39:08 +02:00
Paul Fultz II
166bd2bafc
Fix issue 2153: valueFlowAfterCondition: struct member ( #2228 )
...
* Fix issue 2153: valueFlowAfterCondition: struct member
* Fix null pointer dereference
* Formatting
* Check for another null pointer
* Initialize variables
* Remove redundant condition
* Format
* Add missing initialization to copy constructor
* Format
2019-09-30 21:04:43 +02:00
Armin Müller
b4af8bdc2e
Typos found by running "codespell" ( #2227 )
2019-09-29 21:23:19 +02:00
Daniel Marjamäki
1ccc303602
ExprEngine: Simplify array value if possible, ensure each array data has a unique name
2019-09-29 21:20:57 +02:00
Daniel Marjamäki
03ff32993e
Fixed Cppcheck warning
2019-09-29 17:32:26 +02:00
Daniel Marjamäki
1979b64170
ExprEngine: Bailout when for|while|switch is seen
2019-09-29 17:28:12 +02:00
Daniel Marjamäki
69a54b0ee9
Library: added 'stdtype' attribute in <podtype> element so we can configure standard types better
2019-09-29 16:48:25 +02:00
Daniel Marjamäki
40c3e68e07
ExprEngine: Add --debug-verify, fixed handling of global arrays
2019-09-29 15:00:54 +02:00
Daniel Marjamäki
60e1cf8b8d
ExprEngine: Fix NULL pointer dereference tests
2019-09-29 08:26:09 +02:00
Daniel Marjamäki
2dc477571c
Fix gcc compiler warnings
2019-09-28 20:50:56 +02:00
Oliver Stöneberg
1fa4df419a
avoid some unnecessary copies in emplace_back() calls ( #2194 )
2019-09-28 20:22:46 +02:00
Daniel Marjamäki
3f587bef65
ExprEngine: Add some CWE476 (Null pointer dereference) checks
2019-09-28 19:28:12 +02:00
Daniel Marjamäki
1acd78a038
ExprEngine: Translate uninitialized values to value ranges
2019-09-28 16:16:36 +02:00
Daniel Marjamäki
2e5d663ae9
ExprEngine: Handle void* -> int* casts better
2019-09-28 15:40:00 +02:00
Daniel Marjamäki
4138bf7fb3
SymbolDatabase: Better handling when return type of function is PodType
2019-09-28 14:57:41 +02:00
Daniel Marjamäki
f6c0550c41
ExprEngine: Do not bailout if function type is not known if the result is not used anyway
2019-09-28 11:55:06 +02:00
Daniel Marjamäki
b2239f04ba
ExprEngine: Improve 'division by zero' warning
2019-09-28 11:03:20 +02:00
Daniel Marjamäki
0de3e76b2d
ExprEngine: Clarify when analysis is aborted
2019-09-28 10:59:28 +02:00
Daniel Marjamäki
a3cad7fa51
Fix Coverity warning CID 1405837; negative bit shift
2019-09-28 06:34:51 +02:00
SimonCornell1
6453a85363
Fix the following compilation error on VC142 : ( #2224 )
...
Error C2039 'inserter': is not a member of 'std' cppcheck C:\Users\simon\__Si\git_projects\cppcheck\lib\astutils.cpp 1229
2019-09-28 06:24:32 +02:00
Daniel Marjamäki
8b8701d078
ExprEngine: Cleanup output when variable declaration and initialization is separated
2019-09-27 21:03:47 +02:00
Daniel Marjamäki
398cfc1f5a
ExprEngine: Create array value in struct
2019-09-27 18:58:49 +02:00
Daniel Marjamäki
2b4fe66908
Try to make Travis happy
2019-09-27 16:13:43 +02:00
Daniel Marjamäki
f7a8075001
ExprEngine: Disable integerOverflow check
2019-09-27 15:07:56 +02:00
Daniel Marjamäki
7ea8b69235
ExprEngine: Robustness
2019-09-27 14:36:33 +02:00
Daniel Marjamäki
69016e38bc
ExprEngine: Add a temporary overflow check
2019-09-27 14:20:17 +02:00
Daniel Marjamäki
8ccbdfe725
ExprEngine: Better output
2019-09-27 13:30:09 +02:00
Daniel Marjamäki
71aa9a531a
ExprEngine: Create symbolic expression for string arguments
2019-09-27 13:12:16 +02:00
Daniel Marjamäki
7f64faae99
Virtual Destructors: Base class must have virtual destructor no matter if derived class has a destructor or not. There is UB according to paragraph 3 in [expr.delete].
2019-09-27 09:55:56 +02:00
Rikard Falkeborn
0111b4afdc
Silence unused variable warning ( #2223 )
2019-09-27 08:19:45 +02:00
Daniel Marjamäki
350363616c
Fix Cppcheck naming convention
2019-09-27 08:17:46 +02:00
Daniel Marjamäki
dffae8f7d9
Try to make Travis happy
2019-09-26 21:43:29 +02:00
Daniel Marjamäki
371babc322
ExprEngine: Improved handling of structs
2019-09-26 21:35:29 +02:00
Daniel Marjamäki
f47aaed21e
ExprEngine: Improve output
2019-09-26 21:00:36 +02:00
Daniel Marjamäki
f1b42fe05c
ExprEngine: Extend output
2019-09-26 20:49:03 +02:00
Daniel Marjamäki
2e1cbbeb14
ExprEngine: Fix output for StructValue
2019-09-26 19:39:30 +02:00
IOBYTE
d0968a1377
Warn about unknown macro causing template syntax error ( #2222 )
2019-09-26 16:01:01 +02:00
Daniel Marjamäki
cd816f42eb
ExprEngine: fix code for float comparisons
2019-09-26 12:13:14 +02:00
Daniel Marjamäki
b55c587ab2
astyle formatting
...
[ci skip]
2019-09-26 10:32:49 +02:00
Paul Fultz II
597d0fa35b
Support expression in valueFlowAfterCondition ( #2219 )
...
* Add valueFlowForwardExpression function to forward values of an expression
* Use token for expression
* Fix name in bailout message
* Handle expressions
* Add more tests for more expressions
* Add more tests
* Solve the expression if possible
* Formatting
2019-09-26 10:32:25 +02:00
IOBYTE
4475c4c7e2
template simplifier: fix syntax error ( #2218 )
2019-09-26 10:31:19 +02:00
Daniel Marjamäki
d7d22f51b7
ExprEngine: Minor output cleanup
2019-09-26 10:07:31 +02:00
Daniel Marjamäki
c5302d20a3
ExprEngine: ConditionalValues, output symbolic expressions
2019-09-26 10:03:58 +02:00