diff options
Diffstat (limited to 'lib/Checker/SymbolManager.cpp')
-rw-r--r-- | lib/Checker/SymbolManager.cpp | 11 |
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) { |