summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2018-01-17 20:27:26 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2018-01-17 20:27:26 +0000
commitcf9ff89663d7fac3759eb2b0bb9030a7bf97e47f (patch)
treec5817362aac9b1edadb89c599b14d7e36ace5da9 /clang/lib/StaticAnalyzer/Core/MemRegion.cpp
parent1963d71cb8b8b4e66d71d83cde3d23f059386bcc (diff)
downloadbcm5719-llvm-cf9ff89663d7fac3759eb2b0bb9030a7bf97e47f.tar.gz
bcm5719-llvm-cf9ff89663d7fac3759eb2b0bb9030a7bf97e47f.zip
[analyzer] Make isSubRegionOf reflexive
All usages of isSubRegionOf separately check for reflexive case, and in any case, set theory tells us that each set is a subset of itself. Differential Revision: https://reviews.llvm.org/D42140 llvm-svn: 322752
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/MemRegion.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/MemRegion.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/MemRegion.cpp b/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
index cb8ba6de362..aa54544fa7d 100644
--- a/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
+++ b/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
@@ -103,15 +103,15 @@ MemRegionManager::~MemRegionManager() {
//===----------------------------------------------------------------------===//
bool SubRegion::isSubRegionOf(const MemRegion* R) const {
- const MemRegion* r = getSuperRegion();
- while (r != nullptr) {
+ const MemRegion* r = this;
+ do {
if (r == R)
return true;
if (const SubRegion* sr = dyn_cast<SubRegion>(r))
r = sr->getSuperRegion();
else
break;
- }
+ } while (r != nullptr);
return false;
}
OpenPOWER on IntegriCloud