Skip to content
  1. Jan 23, 2009
  2. Jan 22, 2009
    • Ted Kremenek's avatar
      Fix RegionStore::getLValueElement() to handle the case when the base region is... · 92d48a71
      Ted Kremenek authored
      Fix RegionStore::getLValueElement() to handle the case when the base region is not an ElementRegion (also do some cleanups of its core logic).
      This gets array-struct.c to work with RegionStore.
      
      llvm-svn: 62781
      92d48a71
    • Ted Kremenek's avatar
      SymbolReaper::isLive(SymbolRef) now always returns true for... · 2dd9c9cb
      Ted Kremenek authored
      SymbolReaper::isLive(SymbolRef) now always returns true for SymbolRegionRvalues because these represent the symbolic values for parameters/globals upon entry to the function.  These values are always ;live' because they represent constraints on the context of how the function was called.  This will be useful for both summary generation but is also necessary to get RegionStore's lazy-binding of locations to symbols to work in practice with RemoveDeadBindings.
      
      llvm-svn: 62771
      2dd9c9cb
    • Ted Kremenek's avatar
      Static analyzer: Remove a bunch of outdated SymbolData objects and · 74040833
      Ted Kremenek authored
      their associated APIs.  We no longer need separate SymbolData objects
      for fields, variables, etc.  Instead, we now associated symbols with
      the "rvalue" of a MemRegion (i.e., the value stored at that region).
      Now we only have two kinds of SymbolData objects: SymbolRegionRValue
      and SymbolConjured.
      
      This cleanup also makes the distinction between a SymbolicRegion and a
      symbolic value that is a location much clearer.  A SymbolicRegion
      represents a chunk of symbolic memory, while a symbolic location is
      just a "pointer" with different possible values.  Without any specific
      knowledge, a symbolic location resolves (i.e., via a dereference) to a
      SymbolicRegion.  In the future, when we do better alias reasoning, a
      symbolic location can become an alias for another location, thus
      merging the constraints on the referred SymbolicRegion with the other
      region.
      
      llvm-svn: 62769
      74040833
  3. Jan 21, 2009
  4. Jan 20, 2009
    • Douglas Gregor's avatar
      Remove ScopedDecl, collapsing all of its functionality into Decl, so · 6e6ad602
      Douglas Gregor authored
      that every declaration lives inside a DeclContext.
      
      Moved several things that don't have names but were ScopedDecls (and,
      therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
      including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
      store empty DeclarationNames for these things, nor do we try to insert
      them into DeclContext's lookup structure.
      
      The serialization tests are temporarily disabled. We'll re-enable them
      once we've sorted out the remaining ownership/serialiazation issues
      between DeclContexts and TranslationUnion, DeclGroups, etc.
      
      llvm-svn: 62562
      6e6ad602
    • Ted Kremenek's avatar
      Dead stores checker: Fix <rdar://problem/6506065> by being more selective when... · e5fe617e
      Ted Kremenek authored
      Dead stores checker: Fix <rdar://problem/6506065> by being more selective when say that a store is dead even though the computed value is used in the enclosing expression.
      
      llvm-svn: 62552
      e5fe617e
  5. Jan 17, 2009
  6. Jan 16, 2009
  7. Jan 15, 2009
  8. Jan 13, 2009
  9. Jan 12, 2009
    • Ted Kremenek's avatar
      retain/release checker: · 7e90422e
      Ted Kremenek authored
      - Refactor a bunch of logic in the retain/release checker, making it more
        condense and easier to read.
      - Add support for "Create" methods in the DiskArbitration framework
      
      retain/release tests:
      - Rename CFDate.m to retain-release.m, and move test from CFString.c to
        retain-release.m
      - Add DiskArbitration framework tests cases.
      - Add/refine and few more retain/release GC test cases.
      
      llvm-svn: 62106
      7e90422e
  10. Jan 09, 2009
  11. Jan 08, 2009
  12. Jan 07, 2009
  13. Jan 06, 2009
    • Ted Kremenek's avatar
      Return UnknownVal in RegionStoreManager::getSizeInElements() for unsupported... · 47ad37db
      Ted Kremenek authored
      Return UnknownVal in RegionStoreManager::getSizeInElements() for unsupported regions.  This silences a warning when compiling Release-Asserts builds.
      
      llvm-svn: 61818
      47ad37db
    • Douglas Gregor's avatar
      Add QualifiedDeclRefExpr, which retains additional source-location · c7acfdfe
      Douglas Gregor authored
      information for declarations that were referenced via a qualified-id,
      e.g., N::C::value. We keep track of the location of the start of the
      nested-name-specifier. Note that the difference between
      QualifiedDeclRefExpr and DeclRefExpr does have an effect on the
      semantics of function calls in two ways:
        1) The use of a qualified-id instead of an unqualified-id suppresses
           argument-dependent lookup
        2) If the name refers to a virtual function, the qualified-id
        version will call the function determined statically while the
        unqualified-id version will call the function determined dynamically
        (by looking up the appropriate function in the vtable).
      
      Neither of these features is implemented yet, but we do print out
      qualified names for QualifiedDeclRefExprs as part of the AST printing.
      
      llvm-svn: 61789
      c7acfdfe
  14. Dec 24, 2008
  15. Dec 22, 2008
  16. Dec 21, 2008
  17. Dec 20, 2008
Loading