summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2012-02-17 23:13:45 +0000
committerTed Kremenek <kremenek@apple.com>2012-02-17 23:13:45 +0000
commitd519cae8aa275870b1d26013396b5e4f7462946a (patch)
tree2955f62b5e6fe95522fb2927a47bb23595d42a74 /clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
parent81e2bf2b778ef3f74152cf559bedd264461f41ff (diff)
downloadbcm5719-llvm-d519cae8aa275870b1d26013396b5e4f7462946a.tar.gz
bcm5719-llvm-d519cae8aa275870b1d26013396b5e4f7462946a.zip
Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once.
llvm-svn: 150849
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/SValBuilder.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/SValBuilder.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp b/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
index 9e1c7cc2a54..6f5eb375f48 100644
--- a/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
+++ b/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
@@ -108,19 +108,21 @@ SValBuilder::getRegionValueSymbolVal(const TypedValueRegion* region) {
DefinedOrUnknownSVal SValBuilder::getConjuredSymbolVal(const void *symbolTag,
const Expr *expr,
+ const LocationContext *LCtx,
unsigned count) {
QualType T = expr->getType();
- return getConjuredSymbolVal(symbolTag, expr, T, count);
+ return getConjuredSymbolVal(symbolTag, expr, LCtx, T, count);
}
DefinedOrUnknownSVal SValBuilder::getConjuredSymbolVal(const void *symbolTag,
const Expr *expr,
+ const LocationContext *LCtx,
QualType type,
unsigned count) {
if (!SymbolManager::canSymbolicate(type))
return UnknownVal();
- SymbolRef sym = SymMgr.getConjuredSymbol(expr, type, count, symbolTag);
+ SymbolRef sym = SymMgr.getConjuredSymbol(expr, LCtx, type, count, symbolTag);
if (Loc::isLocType(type))
return loc::MemRegionVal(MemMgr.getSymbolicRegion(sym));
OpenPOWER on IntegriCloud