Only track integer and pointer values.
llvm-svn: 66419
diff --git a/clang/lib/Analysis/RegionStore.cpp b/clang/lib/Analysis/RegionStore.cpp
index 433b05d..4c54721 100644
--- a/clang/lib/Analysis/RegionStore.cpp
+++ b/clang/lib/Analysis/RegionStore.cpp
@@ -751,8 +751,11 @@
return UndefinedVal();
}
- // All other values are symbolic.
- return SVal::GetRValueSymbolVal(getSymbolManager(), R);
+ // All other integer values are symbolic.
+ if (Loc::IsLocType(RTy) || RTy->isIntegerType())
+ return SVal::GetRValueSymbolVal(getSymbolManager(), R);
+ else
+ return UnknownVal();
}
SVal RegionStoreManager::RetrieveStruct(const GRState* St,const TypedRegion* R){