Skip to content
  1. Oct 26, 2011
  2. 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
  3. 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
  4. Oct 14, 2011
  5. Oct 06, 2011
  6. Oct 05, 2011
  7. Oct 04, 2011
  8. 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
  9. 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
  10. Sep 30, 2011
  11. 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
  12. 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
  13. Sep 14, 2011
  14. Sep 13, 2011
  15. Sep 03, 2011
  16. Sep 02, 2011
  17. Aug 28, 2011
    • Jordy Rose's avatar
      [analyzer] Introduce a new callback for checkers, printState, to be used for... · 58a20d31
      Jordy Rose authored
      [analyzer] Introduce a new callback for checkers, printState, to be used for debug-printing the contents of a ProgramState.
      
      Unlike the other callbacks, this one is a simple virtual method, since it is only to be used for debugging.
      
      This new callback replaces the old ProgramState::Printer interface, and allows us to move the printing of refcount bindings from CFRefCount to RetainReleaseChecker.
      
      llvm-svn: 138728
      58a20d31
    • Jordy Rose's avatar
      [analyzer] Migrate argument invalidation from CFRefCount to ExprEngine. · d188d66e
      Jordy Rose authored
      This is a common path for function and C++ method calls, Objective-C messages and property accesses, and C++ construct-exprs.
      
      As support, add message receiver accessors to ObjCMessage and CallOrObjCMessage.
      
      llvm-svn: 138718
      d188d66e
    • Jordy Rose's avatar
      [analyzer] Change the check::RegionChanges callback to include the regions... · 1fad6631
      Jordy Rose authored
      [analyzer] Change the check::RegionChanges callback to include the regions explicitly requested for invalidation.
      
      Also, allow CallOrObjCMessage to wrap a CXXConstructExpr as well.
      
      Finally, this allows us to remove the clunky whitelisting system from CFRefCount/RetainReleaseChecker. Slight regression due to CXXNewExprs not yet being handled in post-statement callbacks (PR forthcoming).
      
      llvm-svn: 138716
      1fad6631
  18. Aug 26, 2011
  19. Aug 25, 2011
  20. Aug 24, 2011
Loading