Skip to content
  1. Dec 15, 2008
  2. Dec 14, 2008
  3. Dec 13, 2008
    • Anders Carlsson's avatar
      Store the size of the EH stack inside each BreakContinue struct so we know... · 6b958f96
      Anders Carlsson authored
      Store the size of the EH stack inside each BreakContinue struct so we know when a break/continue won't cross a try block.
      
      llvm-svn: 60998
      6b958f96
    • Duncan Sands's avatar
      LegalizeDAG is not supposed to introduce illegal · 24092271
      Duncan Sands authored
      types into the DAG if they were not already there.
      Check this with an assertion.
      
      llvm-svn: 60997
      24092271
    • Fariborz Jahanian's avatar
      Patch for ObjCIvarRefExpr containing the field · b1378f9b
      Fariborz Jahanian authored
      matching the storage layout for this ivar
      
      llvm-svn: 60996
      b1378f9b
    • Ted Kremenek's avatar
      MemRegion: · b5670fd5
      Ted Kremenek authored
      - Overhauled the notion of "types" for TypedRegions.  We now distinguish between the "lvalue" of a region (via getLValueRegion()) and the "rvalue" of a region (va getRValueRegion()).  Since a region represents a chunk of memory it has both, but we were conflating these concepts in some cases, leading to some insidious bugs.
      - Removed AnonPointeeType, partially because it is unused and because it doesn't have a clear notion of lvalue vs rvalue type.  We can add it back once there is a need for it and we can resolve its role with these concepts.
      
      StoreManager:
      - Overhauled StoreManager::CastRegion.  It expects an *lvalue* type for a region.  This is actually what motivated the overhaul to the MemRegion type mechanism.  It also no longer returns an SVal; we can just return a MemRegion*.
      - BasicStoreManager::CastRegion now overlays an "AnonTypedRegion" for pointer-pointer casts.  This matches with the MemRegion changes.
      - Similar changes to RegionStore, except I've added a bunch of FIXMEs where it wasn't 100% clear where we should use TypedRegion::getRValueRegion() or TypedRegion::getLValueRegion().
      
      AuditCFNumberCreate check:
      - Now blasts through AnonTypedRegions that may layer the original memory region, thus checking if the actually memory block is of the appropriate type.  This change was needed to work with the changes to StoreManager::CastRegion.
      
      GRExprEngine::VisitCast:
      - Conform to the new interface of StoreManager::CastRegion.
      
      Tests:
      - None of the analysis tests fail now for using the "basic store".
      - Disabled the tests 'array-struct.c' and 'rdar-6442306-1.m' pending further testing and bug fixing.
      
      llvm-svn: 60995
      b5670fd5
Loading