Skip to content
  1. Nov 15, 2008
  2. Nov 12, 2008
  3. Nov 07, 2008
  4. Oct 29, 2008
    • Zhongxing Xu's avatar
      Rename: AddDecl => BindDecl · 628ae879
      Zhongxing Xu authored
      BindDecl better describes what the function does:
        - Bind the VarDecl to its memory region
        - Bind the memory region to some initial value.
      
      llvm-svn: 58359
      628ae879
  5. Oct 27, 2008
    • Ted Kremenek's avatar
      Added preliminary support for CompoundLiterals in the static analyzer: · bf263682
      Ted Kremenek authored
      - GRExprEngine::VisitCompoundLiteral...
         (1) visits the initializer list (generating ExplodedNodes)
         (2) creates a CompoundMemRegion for the literal
         (3) creates a new state with the bound literal values using
             GRStateManager::BindCompoundLiteral
      
      - GRStateManager::BindCompoundLiteral simply calls 
        StoreManager::BindCompoundLiteral to get a new store and returns a persistent
        GRState with that store.
      
      - BasicStore::BindCompoundLiteral simply returns the same store, as it
        doesn't handle field sensitivity
        
      - RegionStore::BindCompoundLiteral currently fires an assert (pending discussion
        of how to best implement mappings for CompoundLiteralRegion).
      
      llvm-svn: 58277
      bf263682
  6. Oct 26, 2008
  7. Oct 25, 2008
  8. Oct 24, 2008
  9. Oct 23, 2008
  10. Oct 22, 2008
  11. Oct 21, 2008
  12. Oct 18, 2008
  13. Oct 17, 2008
  14. Oct 16, 2008
  15. Oct 07, 2008
  16. Oct 05, 2008
  17. Oct 04, 2008
    • Ted Kremenek's avatar
      This is a big patch, but the functionality change is small and the rest of the... · 5ca90a24
      Ted Kremenek authored
      This is a big patch, but the functionality change is small and the rest of the patch consists of deltas due to API changes.
      
      This patch overhauls the "memory region" abstraction that was prototyped (but never really used) as part of the Store.h.  This patch adds MemRegion.h and MemRegion.cpp, which defines the class MemRegion and its subclasses.  This classes serve to define an abstract representation of memory, with regions being layered on other regions to to capture the relationships between fields and variables, variables and the address space they are allocated in, and so on.  
      
      The main motivation of this patch is that key parts of the analyzer assumed that all value bindings were to VarDecls.  In the future this won't be the case, and this patch removes lval::DeclVal and replaces it with lval::MemRegionVal.  Now all pieces of the analyzer must reason about abstract memory blocks instead of just variables.
      
      There should be no functionality change from this patch, but it opens the door for significant improvements to the analyzer such as field-sensitivity and object-sensitivity, both which were on hold until the memory abstraction got generalized.
      
      The memory region abstraction also allows type-information to literally be affixed to a memory region.  This will allow the some now redundant logic to be removed from the retain/release checker.
      
      llvm-svn: 57042
      5ca90a24
  18. Sep 03, 2008
    • Ted Kremenek's avatar
      Store: (static analyzer) · 1b9e1039
      Ted Kremenek authored
      - Change definition of store::Region and store::Binding (once again) to make
        them real classes that just wrap pointers. This makes them more strictly
        typed, and allows specific implementations of Regions/Bindings to just
        subclass them.
      - minor renamings to RegionExtent and its subclasses
      - added a bunch of doxygen comments
      
      StoreManager: (static analyzer)
      - added 'iterBindings', an iteration method for iterating over the bindings of a
        store. It that takes a callback object (acting like a poor man's closure).
      - added 'getRVal' version for store::Binding. Will potentially phase the other
        versions of GetRVal in StoreManager out.
      - reimplemented 'getBindings' to be non-virtual and to use 'iterBindings'
      
      BasicStoreManager: (static analyzer)
      - implemented 'iterBindings' for BasicStoreManager
      
      llvm-svn: 55688
      1b9e1039
  19. Aug 29, 2008
  20. Aug 25, 2008
  21. Aug 23, 2008
  22. Aug 22, 2008
  23. Aug 20, 2008
  24. Aug 19, 2008
    • Ted Kremenek's avatar
      Patch by Zhongxing Xu! · 67102b28
      Ted Kremenek authored
      This patch extends BasicStoreManager::getInitialStore() to include code that symbolicates input variables.
      It also removes redundant handling of ImplicitParamDecl, since it is a subclass of VarDecl.
      
      llvm-svn: 54993
      67102b28
  25. Jul 17, 2008
  26. Jul 11, 2008
Loading