From 5cba6c85c93c1332b011bc7f6a179b32361201ea Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Sat, 21 Aug 2010 11:00:26 +0000 Subject: Remove a special case for OSAtomic functions. We can already bind and retrieve with the same binding key. The only trick here is that sometimes the Symbolic region is stored in with an LocAsInteger wrapper. We unwrap that in SVal::getAsLocSymbol(). llvm-svn: 111734 --- clang/lib/Checker/RegionStore.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'clang/lib/Checker/RegionStore.cpp') diff --git a/clang/lib/Checker/RegionStore.cpp b/clang/lib/Checker/RegionStore.cpp index 97344939d3d..4afa96a4619 100644 --- a/clang/lib/Checker/RegionStore.cpp +++ b/clang/lib/Checker/RegionStore.cpp @@ -1326,14 +1326,8 @@ Store RegionStoreManager::Bind(Store store, Loc L, SVal V) { if (const TypedRegion *superR = dyn_cast(ER->getSuperRegion())) { QualType superTy = superR->getValueType(); - QualType erTy = ER->getValueType(); - - if (IsAnyPointerOrIntptr(superTy, Ctx) && - IsAnyPointerOrIntptr(erTy, Ctx)) { - V = ValMgr.getSValuator().EvalCast(V, superTy, erTy); - return Bind(store, loc::MemRegionVal(superR), V); - } // For now, just invalidate the fields of the struct/union/class. + // This is for test: undef-buffers.c // FIXME: Precisely handle the fields of the record. if (superTy->isStructureOrClassType()) return KillStruct(store, superR, UnknownVal()); -- cgit v1.2.3