cppcheck/test
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
..
cfg gnu.cfg: Add support for macro __extension__ 2019-09-19 12:27:21 +02:00
cli Import project: Ignoring paths better 2019-09-12 09:32:24 +02:00
synthetic
testsuites Typos found by running "codespell" (#1804) 2019-04-23 13:26:48 +02:00
CMakeLists.txt Track lifetime across multiple returns 2019-09-11 19:25:09 +02:00
options.cpp Update Copyright 2019-06-29 07:49:14 +02:00
options.h Update Copyright 2019-06-29 07:49:14 +02:00
redirect.h
test.cxx
test64bit.cpp
testassert.cpp
testastutils.cpp Fix issue 9305: False positive uninitvar - struct initialized via function (#2123) 2019-08-30 18:32:45 +02:00
testautovariables.cpp Track lifetime across multiple returns 2019-09-11 19:25:09 +02:00
testbool.cpp astyle formatting 2019-09-02 06:59:07 +02:00
testboost.cpp
testbufferoverrun.cpp insecureCmdLineArgs: Added more test cases to ensure 'const'-qualifiers are handled correctly. 2019-08-15 08:45:31 +02:00
testcharvar.cpp Remove test case, ValueFlow will truncate and sign-extend values 2019-05-01 19:33:47 +02:00
testclass.cpp astyle formatting 2019-09-02 06:59:07 +02:00
testcmdlineparser.cpp Convert SHOWTIME_MODES to enum class 2019-07-31 22:35:51 +02:00
testcondition.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
testconstructors.cpp Fixed #9354 (Unknown macro is not reported and then Cppcheck is silent about issues) 2019-09-13 13:05:48 +02:00
testcppcheck.cpp use range loops / constness (#2181) 2019-09-19 20:29:33 +02:00
testerrorlogger.cpp Fixed #9260 (--template=gcc does not work correctly with -j) 2019-08-18 16:33:32 +02:00
testexceptionsafety.cpp
testexprengine.cpp ExprEngine: Add new experimental path-sensitive data flow analysis. Initially used for 'verification' but could possibly later be used as a complement in the normal analysis. The code is work-in-progress and hacky! 2019-09-17 21:00:59 +02:00
testfilelister.cpp
testfunctions.cpp Fix false positive with ignoredReturnValue with std::move (#1809) 2019-04-26 12:22:31 +02:00
testgarbage.cpp testgarbage.cpp: Spelling in comment (#2172) 2019-09-12 20:52:39 +02:00
testimportproject.cpp testrunner: Fix assertion error 2019-08-17 15:12:49 +02:00
testincompletestatement.cpp astyle formatting 2019-05-21 10:43:33 +02:00
testinternal.cpp CheckInternal: Extend redundant null pointer check before Token::Match() (#1789) 2019-04-06 07:44:44 +02:00
testio.cpp Track lifetime across multiple returns 2019-09-11 19:25:09 +02:00
testleakautovar.cpp astyle formatting 2019-08-07 08:05:46 +02:00
testlibrary.cpp Refactoring: Convert enum Direction to enum class 2019-08-01 20:56:02 +02:00
testmathlib.cpp MathLib: Added robustness tests for 'MathLib::divide()'. 2019-05-25 23:06:50 +02:00
testmemleak.cpp leakNoReturnVar: Don't break early (#2095) 2019-08-23 06:33:00 +02:00
testnullpointer.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
testoptions.cpp Allow multiple test case arguments to testrunner (#1755) 2019-03-26 20:28:40 +01:00
testother.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
testpath.cpp
testpathmatch.cpp
testplatform.cpp
testpostfixoperator.cpp Fixed #9042 (Another `using BOOL` type breach) (#1765) 2019-03-27 21:42:50 +01:00
testpreprocessor.cpp use range loops / constness (#2181) 2019-09-19 20:29:33 +02:00
testrunner.cpp Update Copyright 2019-06-29 07:49:14 +02:00
testrunner.vcxproj Windows testrunner: Add testexprengine.cpp (#2184) 2019-09-19 19:40:00 +02:00
testrunner.vcxproj.filters Windows testrunner: Add testexprengine.cpp (#2184) 2019-09-19 19:40:00 +02:00
testsamples.cpp
testsimplifytemplate.cpp Fixed #9046 syntaxError (#2180) 2019-09-20 12:35:01 +02:00
testsimplifytokens.cpp Fix ternary operator simplification to accept template parameters. (#2048) 2019-07-28 21:52:52 +02:00
testsimplifytypedef.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
testsimplifyusing.cpp Partial fix for #9191 (simplifyTypedef: Problem when namespace is used) (#1952) 2019-07-06 20:22:13 +02:00
testsizeof.cpp
teststl.cpp Track lifetime across multiple returns 2019-09-11 19:25:09 +02:00
teststring.cpp Re-enable valueFlowSubFunction (#2063) 2019-08-05 16:26:32 +02:00
testsuite.cpp use range loops / constness (#2181) 2019-09-19 20:29:33 +02:00
testsuite.h TestSuite: The ASSERT and ASSERT_EQUALS will now stop executing the test case upon failure. This can be used to avoid extra guard logic in tests. 2019-09-16 06:34:45 +02:00
testsuppressions.cpp TestSuite: The ASSERT and ASSERT_EQUALS will now stop executing the test case upon failure. This can be used to avoid extra guard logic in tests. 2019-09-16 06:34:45 +02:00
testsymboldatabase.cpp use range loops / constness (#2181) 2019-09-19 20:29:33 +02:00
testthreadexecutor.cpp
testtimer.cpp
testtoken.cpp Try to fix Cppcheck warning to make Cppcheck happy 2019-08-02 07:57:34 +02:00
testtokenize.cpp One more fix for #9354 (Unknown macro is not reported and then Cppcheck is silent about issues) 2019-09-15 21:07:20 +02:00
testtokenlist.cpp
testtype.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
testuninitvar.cpp Fixed #9349 (FP ctuuninitvar for pointer dereferenced inside sizeof) 2019-09-12 13:29:52 +02:00
testunusedfunctions.cpp TestSuite: The ASSERT and ASSERT_EQUALS will now stop executing the test case upon failure. This can be used to avoid extra guard logic in tests. 2019-09-16 06:34:45 +02:00
testunusedprivfunc.cpp Run more tests on full token list (#2020) 2019-07-22 10:26:55 +02:00
testunusedvar.cpp Fixed #9234 (FP unreadVariable - assignment via iterator) 2019-08-04 10:21:16 +02:00
testutils.h Refactoring: Rename variables. Do not use leading _. Renamed 'col' to 'column' 2019-08-18 12:19:05 +02:00
testvaarg.cpp
testvalueflow.cpp Add impossible values to ValueFlow (#2186) 2019-09-20 15:06:37 +02:00
testvarid.cpp Fixed #9354 (Unknown macro is not reported and then Cppcheck is silent about issues) 2019-09-13 13:05:48 +02:00