]> granicus.if.org Git - clang/commitdiff
Another metadata symbol change (missed a file)
authorJordy Rose <jediknil@belkadan.com>
Sat, 14 Aug 2010 20:22:12 +0000 (20:22 +0000)
committerJordy Rose <jediknil@belkadan.com>
Sat, 14 Aug 2010 20:22:12 +0000 (20:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111077 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Checker/ValueManager.cpp

index 5cfc4a964ae3086b37c585ee455497ae2d20ab0a..8b7cd7bbdb688e74828324bba12b3df16dc3ed9f 100644 (file)
@@ -117,6 +117,19 @@ DefinedOrUnknownSVal ValueManager::getConjuredSymbolVal(const void *SymbolTag,
   return nonloc::SymbolVal(sym);
 }
 
+DefinedSVal ValueManager::getMetadataSymbolVal(const void *SymbolTag,
+                                               const MemRegion *MR,
+                                               const Expr *E, QualType T,
+                                               unsigned Count) {
+  assert(SymbolManager::canSymbolicate(T) && "Invalid metadata symbol type");
+
+  SymbolRef sym = SymMgr.getMetadataSymbol(MR, E, T, Count, SymbolTag);
+
+  if (Loc::IsLocType(T))
+    return loc::MemRegionVal(MemMgr.getSymbolicRegion(sym));
+
+  return nonloc::SymbolVal(sym);
+}
 
 DefinedOrUnknownSVal
 ValueManager::getDerivedRegionValueSymbolVal(SymbolRef parentSymbol,