Paul Fultz II ad8abdb0c3 Add impossible values to ValueFlow (#2186)
* Add impossible category

* Replace values

* Try to adjust known values

* Add ! for impossible values

* Add impossible with possible values

* Remove contradictions

* Add values when the branch is not dead

* Only copy possible values

* Dont bail on while loops

* Load std lib in valueflow

* Check for function calls

* Fix stl errors

* Fix incorrect impossible check

* Fix heap-after-use error

* Remove impossible values when they are lowered

* Show the bound and remove overlaps

* Infer conditions

* Dont push pointer values through dynamic_cast

* Add test for dynamic_cast issue

* Add shifttoomanybits test

* Add test for div by zero

* Add a test for issue 9315

* Dont make impossible value inconclusive

* Fix FP with shift operator

* Improve handleKnownValuesInLoop for impossible values

* Fix cppcheck warning

* Fix impossible values for ctu

* Bailout for streams

* Check equality conditions

* Fix overflows

* Add regression test for 9332

* Remove duplicate conditions

* Skip impossible values for invalid value

* Check for null

* Rename bound to range

* Formatting
2019-09-20 15:06:37 +02:00
..
2019-06-29 07:49:14 +02:00
2018-10-13 18:20:31 +02:00
2019-03-16 09:17:50 +01:00
2019-09-01 11:49:43 +02:00
2019-07-25 17:19:51 +02:00
2019-02-09 07:24:06 +01:00
2019-03-16 09:17:50 +01:00
2019-06-29 07:49:14 +02:00
2019-03-16 09:17:50 +01:00
2019-03-16 09:17:50 +01:00
2019-06-15 13:01:45 +02:00
2019-03-16 09:17:50 +01:00
2019-06-29 07:49:14 +02:00
2019-03-16 09:17:50 +01:00
2019-04-06 06:54:38 +02:00
2019-03-16 09:17:50 +01:00
2019-02-09 07:24:06 +01:00
2019-03-16 09:17:50 +01:00
2019-05-17 09:31:41 +02:00
2019-04-14 15:00:03 +02:00
2019-09-12 10:46:33 +02:00
2019-09-20 07:04:58 +02:00
2019-08-12 12:54:25 +02:00
2019-02-09 07:24:06 +01:00
2019-02-09 07:24:06 +01:00
2018-10-13 18:20:31 +02:00
2018-10-13 18:20:31 +02:00
2019-09-01 11:49:43 +02:00
2018-06-17 09:06:16 +02:00
2019-09-19 20:29:33 +02:00
2019-06-29 07:49:14 +02:00
2019-09-01 11:49:43 +02:00
2019-07-31 22:35:51 +02:00
2019-09-20 12:35:01 +02:00
2019-09-01 11:49:43 +02:00
2019-09-02 15:44:40 +02:00