aboutsummaryrefslogtreecommitdiff
path: root/lib/Checker/SymbolManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Checker/SymbolManager.cpp')
-rw-r--r--lib/Checker/SymbolManager.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Checker/SymbolManager.cpp b/lib/Checker/SymbolManager.cpp
index c2b557ea57..3145f40278 100644
--- a/lib/Checker/SymbolManager.cpp
+++ b/lib/Checker/SymbolManager.cpp
@@ -205,7 +205,16 @@ QualType SymbolRegionValue::getType(ASTContext& C) const {
SymbolManager::~SymbolManager() {}
bool SymbolManager::canSymbolicate(QualType T) {
- return Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType());
+ if (Loc::IsLocType(T))
+ return true;
+
+ if (T->isIntegerType())
+ return T->isScalarType();
+
+ if (T->isRecordType())
+ return true;
+
+ return false;
}
void SymbolReaper::markLive(SymbolRef sym) {