llvm-project/clang/test/Analysis/diagnostics
Artem Dergachev 2ed0e79bb8 [analyzer] Make sure base-region and its sub-regions are either all alive or all dead.
SymbolReaper now realizes that our liveness analysis isn't sharp enough
to discriminate between liveness of, say, variables and their fields.
Surprisingly, this didn't quite work before: having a variable live only
through Environment (eg., calling a C++ method on a local variable
as the last action ever performed on that variable) would not keep the
region value symbol of a field of that variable alive.

It would have been broken in the opposite direction as well, but both
Environment and RegionStore use the scanReachableSymbols mechanism for finding
live symbols regions within their values, and due to that they accidentally
end up marking the whole chain of super-regions as live when at least one
sub-region is known to be live.

It is now a direct responsibility of SymbolReaper to maintain this invariant,
and a unit test was added in order to make sure it stays that way.

Differential Revision: https://reviews.llvm.org/D56632

rdar://problem/46914108

llvm-svn: 351499
2019-01-18 00:08:56 +00:00
..
Inputs Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
deref-track-symbolic-region.c [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00
deref-track-symbolic-region.cpp Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
dtors.cpp [analyzer] Make sure base-region and its sub-regions are either all alive or all dead. 2019-01-18 00:08:56 +00:00
explicit-suppression.cpp [analyzer] MoveChecker Pt.6: Suppress the warning for the move-safe STL classes. 2018-12-14 20:52:57 +00:00
false-positive-suppression.c Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
find_last_store.c [analyzer] Prevent crashes in FindLastStoreBRVisitor 2018-09-24 21:20:30 +00:00
implicit-cxx-std-suppression.cpp [analyzer] NFC: Run many existing C++ tests with a custom operator new(). 2018-01-24 21:24:10 +00:00
macro-null-return-suppression.cpp [analyzer] Bugfix for an overly eager suppression for null pointer return from macros. 2018-07-16 20:33:25 +00:00
macros.cpp Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
macros.m Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
no-prune-paths.c Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
no-store-func-path-notes.c [analyzer] Extend NoStoreFuncVisitor to follow fields. 2018-08-02 02:02:40 +00:00
no-store-func-path-notes.cpp [analyzer] [tests] [quickfix] Make more test more resilient for non-defaut -std. 2018-10-03 22:48:00 +00:00
no-store-func-path-notes.m [analyzer] Extend NoStoreFuncVisitor to follow fields. 2018-08-02 02:02:40 +00:00
plist-diagnostics-include-check.cpp [analyzer] [NFC] Change the tests by making the version check more resilient 2018-09-11 18:45:15 +00:00
plist-multi-file.c [analyzer] [NFC] Change the tests by making the version check more resilient 2018-09-11 18:45:15 +00:00
plist-multi-file.h [analyzer] Make plist-html diagnostic consumer produce multi-file reports. 2018-05-16 00:11:24 +00:00
report-issues-within-main-file.cpp [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00
sarif-diagnostics-taint-test.c [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00
sarif-multi-diagnostic-test.c [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00
shortest-path-suppression.c Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
text-diagnostics.c Reland 4: [analyzer] NFC: Update test infrastructure to support multiple constraint managers 2017-03-03 18:02:02 +00:00
track_subexpressions.cpp [analyzer] Track non-zero values in ReturnVisitor 2018-08-22 23:17:25 +00:00
undef-value-callee.h
undef-value-caller.c [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00
undef-value-param.c [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00
undef-value-param.m [analyzer] [NFC] Reverse the argument order for "diff" in tests 2019-01-10 18:15:44 +00:00