Skip to content
  1. Feb 14, 2012
    • Anna Zaks's avatar
      [analyzer] Make Malloc Checker optimistic in presence of inlining. · 3d34834b
      Anna Zaks authored
      (In response of Ted's review of r150112.)
      
      This moves the logic which checked if a symbol escapes through a
      parameter to invalidateRegionCallback (instead of post CallExpr visit.)
      
      To accommodate the change, added a CallOrObjCMessage parameter to
      checkRegionChanges callback.
      
      llvm-svn: 150513
      3d34834b
  2. Feb 07, 2012
  3. Feb 05, 2012
  4. Feb 04, 2012
  5. Jan 26, 2012
  6. Jan 17, 2012
  7. 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
  8. Jan 04, 2012
  9. Dec 22, 2011
  10. Dec 05, 2011
  11. Dec 01, 2011
  12. Nov 14, 2011
  13. Nov 01, 2011
  14. Oct 26, 2011
  15. Oct 25, 2011
    • Anna Zaks's avatar
      [analyzer] Remove getEngine() form CheckerContext · 58734db0
      Anna Zaks authored
      A step toward making sure that diagnostics report should only
      be generated though the CheckerContext and not though BugReporter
      or ExprEngine directly.
      
      llvm-svn: 142947
      58734db0
    • 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
    • Anna Zaks's avatar
      [analyze] Convert EndOfPath callback to use CheckerContext · 3eae3341
      Anna Zaks authored
      Get rid of the EndOfPathBuilder completely.
      Use the generic NodeBuilder to generate nodes.
      Enqueue the end of path frontier explicitly.
      
      llvm-svn: 142943
      3eae3341
  16. Oct 19, 2011
    • Anna Zaks's avatar
      [analyzer] Remove dead code. · e83ddcc4
      Anna Zaks authored
      ExprEngineBuilders is not used.
      
      llvm-svn: 142450
      e83ddcc4
    • Anna Zaks's avatar
      [analyzer] Node Builder refactoring: Introduce a simple Node Builder... · fc0189aa
      Anna Zaks authored
      [analyzer] Node Builder refactoring: Introduce a simple Node Builder responsible for generating the node frontier.
      
      Currently we have a bunch of different node builders which provide some common
      functionality but are difficult to refactor. Each builder generates nodes of
      different kinds and calculates the frontier nodes, which should be propagated
      to the next step (after the builder dies).
      
      Introduce a new NodeBuilder which provides very basic node generation facilities
      but takes care of the second problem. The idea is that all the other builders
      will eventually use it. Use this builder in CheckerContext instead of
      StmtNodeBuilder (the way the frontier is propagated to the StmtBuilder
      is a hack and will be removed later on).
      
      llvm-svn: 142443
      fc0189aa
  17. Oct 14, 2011
  18. Oct 06, 2011
  19. Oct 05, 2011
  20. Oct 04, 2011
  21. Oct 03, 2011
    • Argyrios Kyrtzidis's avatar
      Allow getting all source locations of selector identifiers in a ObjCMethodDecl. · b8c3aaf4
      Argyrios Kyrtzidis authored
      Instead of always storing all source locations for the selector identifiers
      we check whether all the identifiers are in a "standard" position; "standard" position is
      
        -Immediately before the arguments: -(id)first:(int)x second:(int)y;
        -With a space between the arguments: -(id)first: (int)x second: (int)y;
        -For nullary selectors, immediately before ';': -(void)release;
      
      In such cases we infer the locations instead of storing them.
      
      llvm-svn: 140989
      b8c3aaf4
  22. Oct 01, 2011
    • John McCall's avatar
      Tweak the interface for analyzing the CF conventions for a name · 525f0559
      John McCall authored
      to take a FunctionDecl* instead of an llvm::StringRef.  Eventually
      we might push more logic in there, like using slightly different
      conventions for C++ methods.
      
      Also, fix a bug where 'copy' and 'create' were being caught in 
      non-camel-cased strings.  We want copyFoo and CopyFoo and XCopy
      but not Xcopy or xcopy.
      
      llvm-svn: 140911
      525f0559
  23. Sep 30, 2011
  24. Sep 20, 2011
    • Anna Zaks's avatar
      [analyzer] Refactor PathDiagnosticLocation: Make... · c29bed39
      Anna Zaks authored
      [analyzer] Refactor PathDiagnosticLocation: Make PathDiagnosticLocation(SourceLocation...) private. Most of the effort here goes to making BugReport refer to a PathDiagnosticLocation instead of FullSourceLocation. 
      
      (Another step closer to the goal of having Diagnostics which can recover from invalid SourceLocations.)
      
      llvm-svn: 140182
      c29bed39
  25. Sep 15, 2011
    • Anna Zaks's avatar
      [analyzer] Refactor: make PathDiagnosticLocation responsible for validation of... · 921f0492
      Anna Zaks authored
      [analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?):
      - Fix a fixme and move the logic of creating a PathDiagnosticLocation corresponding to a ProgramPoint into a PathDiagnosticLocation constructor.
      - Rename PathDiagnosticLocation::create to differentiate from the added constructor.
      
      llvm-svn: 139825
      921f0492
    • Anna Zaks's avatar
      [analyzer] Refactor: make PathDiagnosticLocation responsible for validation of... · 3a769bd9
      Anna Zaks authored
      [analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?):
      - Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext.
      - Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function).
      
      llvm-svn: 139763
      3a769bd9
  26. Sep 14, 2011
  27. Sep 13, 2011
  28. Sep 03, 2011
  29. Sep 02, 2011
Loading