diff options
| -rw-r--r-- | clang/lib/Checker/SymbolManager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Checker/SymbolManager.cpp b/clang/lib/Checker/SymbolManager.cpp index c2b557ea57d..3145f40278f 100644 --- a/clang/lib/Checker/SymbolManager.cpp +++ b/clang/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) { |

