Skip to content
  1. Jun 25, 2009
  2. Jun 23, 2009
  3. Jun 19, 2009
  4. Jun 18, 2009
  5. May 12, 2009
  6. May 09, 2009
  7. May 04, 2009
  8. Apr 21, 2009
  9. Apr 20, 2009
  10. Apr 11, 2009
  11. Apr 10, 2009
  12. Apr 09, 2009
  13. Apr 08, 2009
  14. Apr 03, 2009
  15. Mar 30, 2009
  16. Mar 26, 2009
    • Ted Kremenek's avatar
      analyzer infrastructure: make a bunch of changes to symbolic expressions that · 3e31c26f
      Ted Kremenek authored
      Zhongxing and I discussed by email.
      
      Main changes:
      - Removed SymIntConstraintVal and SymIntConstraint
      - Added SymExpr as a parent class to SymbolData, SymSymExpr, SymIntExpr
      - Added nonloc::SymExprVal to wrap SymExpr
      - SymbolRef is now just a typedef of 'const SymbolData*'
      - Bunch of minor code cleanups in how some methods were invoked (no functionality change)
      
      This changes are part of a long-term plan to have full symbolic expression
      trees. This will be useful for lazily evaluating complicated expressions.
      
      llvm-svn: 67731
      3e31c26f
  17. Mar 25, 2009
  18. Mar 20, 2009
    • Ted Kremenek's avatar
      GRExprEngine: · 6b31533a
      Ted Kremenek authored
      - Conjure symbols at '--' and '++' unary operations
      - Add utility method SVal::GetConjuredSymbolVal() and constify some arguments
        along the way.
      
      llvm-svn: 67395
      6b31533a
  19. Mar 18, 2009
    • Ted Kremenek's avatar
      Fix crash reported in <rdar://problem/6695527>. We now have · b36e01d8
      Ted Kremenek authored
      SVal::GetRValueSymbolVal do the checking if we can symbolicate a type instead of
      having BasicStoreManager do it (which wasn't always doing the check
      consistently). Having this check in SVal::GetRValueSymbolVal keeps the check in
      one centralized place.
      
      llvm-svn: 67245
      b36e01d8
  20. Mar 10, 2009
  21. Mar 03, 2009
  22. Jan 30, 2009
    • Ted Kremenek's avatar
      Fix a couple bugs: · 7594e2a5
      Ted Kremenek authored
      - NonLoc::MakeVal() would use sizeof(unsigned) (literally) instead of consulting
        ASTContext for the size (in bits) of 'int'. While it worked, it was a
        conflation of concepts and using ASTContext.IntTy is 100% correct.
      - RegionStore::getSizeInElements() no longer assumes that a VarRegion has the
        type "ConstantArray", and handles the case when uses use ordinary variables
        as if they were arrays.
      - Fixed ElementRegion::getRValueType() to just return the rvalue type of its
        "array region" in the case the array didn't have ArrayType.
      - All of this fixes <rdar://problem/6541136>
      
      llvm-svn: 63347
      7594e2a5
  23. Jan 22, 2009
    • 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
  24. Dec 20, 2008
    • Zhongxing Xu's avatar
      Lazy bingding for region-store manager. · af7415ff
      Zhongxing Xu authored
      * Now Bind() methods take and return GRState* because binding could
        also alter GDM.
      * No variables are initialized except those declared with initial
        values.
      * failed C test cases are due to bugs in RemoveDeadBindings(),
      which removes constraints that is still alive. This will be fixed in later
      patch.
      * default value of array and struct regions will be implemented in later patch.
      
      llvm-svn: 61274
      af7415ff
Loading