]> granicus.if.org Git - clang/commitdiff
clean up code with new API.
authorZhongxing Xu <xuzhongxing@gmail.com>
Thu, 9 Apr 2009 06:03:54 +0000 (06:03 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Thu, 9 Apr 2009 06:03:54 +0000 (06:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68687 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CFRefCount.cpp

index 376ccc08876693db6fc46a37b8fe61b6efded1d3..cab14396d1d5add7fb75eee4852feb49b9cb9bcd 100644 (file)
@@ -1759,14 +1759,10 @@ void CFRefCount::EvalSummary(ExplodedNodeSet<GRState>& Dst,
             unsigned Count = Builder.getCurrentBlockCount();
             QualType T = R->getRValueType(Ctx);
           
-            if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())) {
-              SymbolRef NewSym =
-                Eng.getSymbolManager().getConjuredSymbol(*I, T, Count);
-              
-              state = state.BindLoc(Loc::MakeVal(R),
-                                    Loc::IsLocType(T)
-                                    ? cast<SVal>(loc::SymbolVal(NewSym))
-                                    : cast<SVal>(nonloc::SymbolVal(NewSym)));
+            if (Loc::IsLocType(T) || (T->isIntegerType() && T->isScalarType())){
+              SVal V = SVal::GetRValueSymbolVal(Eng.getSymbolManager(),
+                                  Eng.getStoreManager().getRegionManager(), R);
+              state = state.BindLoc(Loc::MakeVal(R), V);
             }
             else if (const RecordType *RT = T->getAsStructureType()) {
               // Handle structs in a not so awesome way.  Here we just