summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/Environment.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-02-20 05:52:05 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-02-20 05:52:05 +0000
commit2fdacbc5b07d46b78710574e8817e58899ae8948 (patch)
treeb0082b91bda7317005f07a3dcf5a1dc384d2b15f /clang/lib/StaticAnalyzer/Core/Environment.cpp
parent7b503c2b03b60de6ee51ba84f17c187b3d354a2d (diff)
downloadbcm5719-llvm-2fdacbc5b07d46b78710574e8817e58899ae8948.tar.gz
bcm5719-llvm-2fdacbc5b07d46b78710574e8817e58899ae8948.zip
Replace SVal llvm::cast support to be well-defined.
See r175462 for another example/more details. llvm-svn: 175594
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/Environment.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/Environment.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/Environment.cpp b/clang/lib/StaticAnalyzer/Core/Environment.cpp
index 2b069a04a57..481e1bfd372 100644
--- a/clang/lib/StaticAnalyzer/Core/Environment.cpp
+++ b/clang/lib/StaticAnalyzer/Core/Environment.cpp
@@ -198,10 +198,8 @@ EnvironmentManager::removeDeadBindings(Environment Env,
EBMapRef = EBMapRef.add(BlkExpr, X);
// If the block expr's value is a memory region, then mark that region.
- if (isa<loc::MemRegionVal>(X)) {
- const MemRegion *R = cast<loc::MemRegionVal>(X).getRegion();
- SymReaper.markLive(R);
- }
+ if (llvm::Optional<loc::MemRegionVal> R = X.getAs<loc::MemRegionVal>())
+ SymReaper.markLive(R->getRegion());
// Mark all symbols in the block expr's value live.
RSScaner.scan(X);
OpenPOWER on IntegriCloud