Skip to content
  1. Dec 14, 2008
  2. 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
    • 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
    • Fariborz Jahanian's avatar
      Add storage layout to ObjC classes. · 0222553d
      Fariborz Jahanian authored
      llvm-svn: 60993
      0222553d
    • Chris Lattner's avatar
      eliminate the isCXXNamedOperator function and some string compares and · 77c76ae3
      Chris Lattner authored
      use identifierinfo instead.  Patch by Chris Goller!
      
      llvm-svn: 60992
      77c76ae3
    • Ted Kremenek's avatar
      Temporarily XFAIL these tests. · 1c89be02
      Ted Kremenek authored
      llvm-svn: 60991
      1c89be02
    • Ted Kremenek's avatar
      A series of cleanups/fixes motivated by <rdar://problem/6442306>: · f065b15f
      Ted Kremenek authored
      GRExprEngine (VisitCast):
      - When using StoreManager::CastRegion, always use the state and value it returns to generate the next node.  Failure to do so means that region values returned that don't require the state to be modified will get ignored.
      
      MemRegion:
      - Tighten the interface for ElementRegion.  Now ElementRegion can only be created with a super region that is a 'TypedRegion' instead of any MemRegion.  Code in BasicStoreManager/RegionStoreManager already assumed this, but it would result in a dynamic assertion check (and crash) rather than just having the compiler forbid the construction of such regions.
      - Added ElementRegion::getArrayRegion() to return the 'typed version' of an ElementRegion's super region.
      - Removed bogus assertion in ElementRegion::getType() that assumed that the super region was an AnonTypedRegion.  All that matters is that it is a TypedRegion, which is now true all the time by design.
      
      BasicStore:
      - Modified getLValueElement() to check if the 'array' region is a TypedRegion before creating an ElementRegion.  This conforms to the updated interface for ElementRegion.
      
      RegionStore:
      - In ArrayToPointer() gracefully handle things we don't reason about, and only create an ElementRegion if the array region is indeed a TypedRegion.
      
      llvm-svn: 60990
      f065b15f
    • Chris Lattner's avatar
      disable Anders' recent VLA patch, this fixes PR3209. · e69336c2
      Chris Lattner authored
      llvm-svn: 60989
      e69336c2
    • Sebastian Redl's avatar
    • Sebastian Redl's avatar
    • Sebastian Redl's avatar
      stdlib.h is the wrong header for printf, and introduces test-breaking... · 19ed30be
      Sebastian Redl authored
      stdlib.h is the wrong header for printf, and introduces test-breaking definitions of inlines on Linux
      
      llvm-svn: 60981
      19ed30be
    • Cedric Venet's avatar
      Add /Za to all MSVC build of a clang libraries. · c41deefe
      Cedric Venet authored
      This allow to use the new move emulation for smart pointer by disabling language extension.
      
      llvm-svn: 60979
      c41deefe
  3. Dec 12, 2008
Loading