forked from OSchip/llvm-project
parent
2f3b0dbff4
commit
d3b33ba406
clang/lib/Analysis
|
@ -1759,14 +1759,10 @@ void CFRefCount::EvalSummary(ExplodedNodeSet<GRState>& Dst,
|
||||||
unsigned Count = Builder.getCurrentBlockCount();
|
unsigned Count = Builder.getCurrentBlockCount();
|
||||||
QualType T = R->getRValueType(Ctx);
|
QualType T = R->getRValueType(Ctx);
|
||||||
|
|
||||||
if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())) {
|
if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())){
|
||||||
SymbolRef NewSym =
|
SVal V = SVal::GetRValueSymbolVal(Eng.getSymbolManager(),
|
||||||
Eng.getSymbolManager().getConjuredSymbol(*I, T, Count);
|
Eng.getStoreManager().getRegionManager(), R);
|
||||||
|
state = state.BindLoc(Loc::MakeVal(R), V);
|
||||||
state = state.BindLoc(Loc::MakeVal(R),
|
|
||||||
Loc::IsLocType(T)
|
|
||||||
? cast<SVal>(loc::SymbolVal(NewSym))
|
|
||||||
: cast<SVal>(nonloc::SymbolVal(NewSym)));
|
|
||||||
}
|
}
|
||||||
else if (const RecordType *RT = T->getAsStructureType()) {
|
else if (const RecordType *RT = T->getAsStructureType()) {
|
||||||
// Handle structs in a not so awesome way. Here we just
|
// Handle structs in a not so awesome way. Here we just
|
||||||
|
|
Loading…
Reference in New Issue