Skip to content
  1. Jul 07, 2010
  2. Jul 06, 2010
    • Tom Care's avatar
      Added a path-sensitive idempotent operation checker... · 3ff08a8e
      Tom Care authored
      Added a path-sensitive idempotent operation checker (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect.
      
      Example:
      {
      int a = 1;
      int b = 5;
      int c = b / a; // a is 1 on all paths
      }
      
      - New IdempotentOperationChecker class
      - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker
      - Minor refactoring of SVal to allow checking for any integer
      - Added command line option for check
      - Added basic test cases
      
      llvm-svn: 107706
      3ff08a8e
    • Zhongxing Xu's avatar
      Add an assertion. · 5b488b1e
      Zhongxing Xu authored
      llvm-svn: 107645
      5b488b1e
    • Jordy Rose's avatar
      Remove the now-unused GRState::isEqual method. Instead of asking if an... · c7c8c3d6
      Jordy Rose authored
      Remove the now-unused GRState::isEqual method. Instead of asking if an expression equals a certain value, use SValuator::EvalEQ and GRState::Assume to see if it can, must, or must not equal that value.
      
      llvm-svn: 107638
      c7c8c3d6
    • Jordy Rose's avatar
      Improve NULL-checking for CFRetain/CFRelease. We now remember that the... · 40c5c24c
      Jordy Rose authored
      Improve NULL-checking for CFRetain/CFRelease. We now remember that the argument was non-NULL, and we report where the null assumption came from (like AttrNonNullChecker already did).
      
      llvm-svn: 107633
      40c5c24c
  3. Jul 05, 2010
  4. Jul 04, 2010
    • Jordy Rose's avatar
      Add a new symbol type, SymbolExtent, to represent the extents of memory... · 674bd55f
      Jordy Rose authored
      Add a new symbol type, SymbolExtent, to represent the extents of memory regions that may not be known at compile-time (such as those created by malloc). This replaces the old setExtent/getExtent API on Store, which used the GRState's GDM to store SVals.
      
      Also adds a getKnownValue() method to SValuator, which gets the integer value of an SVal if it is known to only have one possible value. There are more places in the code that could be using this, but in general we want to be dealing entirely in SVals, so its usefulness is limited.
      
      The only visible functionality change is that extents are now honored for any DeclRegion, such as fields and Objective-C ivars, rather than just variables. This shows up in bounds-checking and cast-size-checking.
      
      llvm-svn: 107577
      674bd55f
  5. Jul 01, 2010
  6. Jun 30, 2010
  7. Jun 29, 2010
  8. Jun 28, 2010
  9. Jun 27, 2010
  10. Jun 26, 2010
  11. Jun 25, 2010
  12. Jun 24, 2010
  13. Jun 23, 2010
  14. Jun 22, 2010
  15. Jun 21, 2010
  16. Jun 20, 2010
Loading