Skip to content
  1. Mar 11, 2012
  2. Mar 09, 2012
    • Ted Kremenek's avatar
      [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. · 1e809b4c
      Ted Kremenek authored
      Essentially, a bug centers around a story for various symbols and regions.  We should only include
      the path diagnostic events that relate to those symbols and regions.
      
      The pruning is done by associating a set of interesting symbols and regions with a BugReporter, which
      can be modified at BugReport creation or by BugReporterVisitors.
      
      This patch reduces the diagnostics emitted in several of our test cases.  I've vetted these as
      having desired behavior.  The only regression is a missing null check diagnostic for the return
      value of realloc() in test/Analysis/malloc-plist.c.  This will require some investigation to fix,
      and I have added a FIXME to the test case.
      
      llvm-svn: 152361
      1e809b4c
  3. Feb 07, 2012
    • Benjamin Kramer's avatar
      Revert my patches which removed Diagnostic.h includes by moving some operator... · 7ec12c92
      Benjamin Kramer authored
      Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line.
      
      This seems to negatively affect compile time onsome ObjC tests
      (which use a lot of partial diagnostics I assume). I have to come
      up with a way to keep them inline without including Diagnostic.h
      everywhere. Now adding a new diagnostic requires a full rebuild
      of e.g. the static analyzer which doesn't even use those diagnostics.
      
      This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
      This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
      This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
      This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
      This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
      
      llvm-svn: 150006
      7ec12c92
  4. Feb 05, 2012
  5. Feb 04, 2012
  6. Jan 28, 2012
  7. Jan 26, 2012
  8. Jan 06, 2012
    • Ted Kremenek's avatar
      [analyzer] Make the entries in 'Environment' context-sensitive by making entries map from · 632e3b7e
      Ted Kremenek authored
      (Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals.
      
      This is needed to support basic IPA via inlining.  Without this, we cannot tell
      if a Stmt* binding is part of the current analysis scope (StackFrameContext) or
      part of a parent context.
      
      This change introduces an uglification of the use of getSVal(), and thus takes
      two steps forward and one step back.  There are also potential performance implications
      of enlarging the Environment.  Both can be addressed going forward by refactoring the
      APIs and optimizing the internal representation of Environment.  This patch
      mainly introduces the functionality upon when we want to build upon (and clean up).
      
      llvm-svn: 147688
      632e3b7e
  9. Oct 26, 2011
  10. Oct 25, 2011
    • Anna Zaks's avatar
      [analyzer] Simplify CheckerContext · b473816b
      Anna Zaks authored
      Remove dead members/parameters: ProgramState, respondsToCallback, autoTransition.
      Remove addTransition method since it's the same as generateNode. Maybe we should
      rename generateNode to genTransition (since a transition is always automatically
      generated)?
      
      llvm-svn: 142946
      b473816b
  11. Aug 20, 2011
    • Anna Zaks's avatar
      Static Analyzer Diagnostics: Kill the addVisitorCreator(callbackTy, void*) API... · f86615ca
      Anna Zaks authored
      Static Analyzer Diagnostics: Kill the addVisitorCreator(callbackTy, void*) API in favor of addVisitor(BugReporterVisitor*).
      
      1) Create a header file to expose the predefined visitors. And move the parent(BugReporterVisitor) there as well.
      
      2) Remove the registerXXXVisitor functions - the Visitor constructors/getters can be used now to create the object. One exception is registerVarDeclsLastStore(), which registers more then one visitor, so make it static member of FindLastStoreBRVisitor.
      
      3) Modify all the checkers to use the new API.
      
      llvm-svn: 138126
      f86615ca
  12. Aug 18, 2011
    • Anna Zaks's avatar
      Remove EnhancedBugReport and RangedBugReport - pull all the extra... · 3a6bdf8f
      Anna Zaks authored
      Remove EnhancedBugReport and RangedBugReport - pull all the extra functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME.
      
      llvm-svn: 137894
      3a6bdf8f
  13. Aug 16, 2011
  14. Mar 01, 2011
  15. Feb 23, 2011
  16. Feb 17, 2011
  17. Feb 15, 2011
  18. Feb 10, 2011
  19. Feb 08, 2011
  20. Dec 23, 2010
  21. Dec 22, 2010
  22. Dec 20, 2010
  23. Dec 01, 2010
  24. Nov 08, 2010
  25. Oct 25, 2010
  26. Oct 21, 2010
  27. Sep 10, 2010
Loading