diff options
Diffstat (limited to 'lib/Analysis/CFRefCount.cpp')
-rw-r--r-- | lib/Analysis/CFRefCount.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp index b33a7ca5ab..8c16c9fd6b 100644 --- a/lib/Analysis/CFRefCount.cpp +++ b/lib/Analysis/CFRefCount.cpp @@ -1605,7 +1605,7 @@ void CFRefCount::EvalSummary(ExplodedNodeSet<GRState>& Dst, QualType T = R->getType(Ctx); // FIXME: handle structs. - if (T->isIntegerType() || Loc::IsLocType(T)) { + if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())) { SymbolID NewSym = Eng.getSymbolManager().getConjuredSymbol(*I, T, Count); @@ -1669,7 +1669,7 @@ void CFRefCount::EvalSummary(ExplodedNodeSet<GRState>& Dst, QualType T = Ex->getType(); - if (T->isIntegerType() || Loc::IsLocType(T)) { + if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())) { unsigned Count = Builder.getCurrentBlockCount(); SymbolID Sym = Eng.getSymbolManager().getConjuredSymbol(Ex, Count); |