diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/StaticAnalyzer/SymbolManager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/StaticAnalyzer/SymbolManager.cpp b/lib/StaticAnalyzer/SymbolManager.cpp index 08677dafcf..518bb172d5 100644 --- a/lib/StaticAnalyzer/SymbolManager.cpp +++ b/lib/StaticAnalyzer/SymbolManager.cpp @@ -233,13 +233,15 @@ QualType SymbolRegionValue::getType(ASTContext& C) const { SymbolManager::~SymbolManager() {} bool SymbolManager::canSymbolicate(QualType T) { + T = T.getCanonicalType(); + if (Loc::IsLocType(T)) return true; if (T->isIntegerType()) return T->isScalarType(); - if (T->isRecordType()) + if (T->isRecordType() && !T->isUnionType()) return true; return false; |