Skip to content
  1. Oct 26, 2011
  2. Oct 25, 2011
  3. Oct 24, 2011
  4. Oct 19, 2011
    • Anna Zaks's avatar
      [analyzer] Make NodeBuilder and Pred node loosely coupled · a99b41f3
      Anna Zaks authored
      NodeBuilder should not assume it's dealing with a single predecessor. Remove predecessor getters. Modify the BranchNodeBuilder to not be responsible for doing auto-transitions (which depend on a predecessor).
      
      llvm-svn: 142453
      a99b41f3
    • 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] Modularize builder use in processBranch. · 6d285c58
      Anna Zaks authored
      Take advantage of the new builders for branch processing. As part of this change pass generic NodeBuilder (instead of BranchNodeBuilder) to the BranchCondition callback and remove the unused methods form BranchBuilder.
      
      llvm-svn: 142448
      6d285c58
    • Anna Zaks's avatar
      ce5e97ef
    • 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
  5. Oct 14, 2011
  6. Oct 11, 2011
  7. Oct 10, 2011
    • Richard Smith's avatar
      Constant expression evaluation refactoring: · caf3390d
      Richard Smith authored
       - Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
         and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert
         behaviour.
       - Factor out evaluation of bitfield bit widths.
       - Fix a few places which would evaluate an expression twice: once to determine
         whether it is a constant expression, then again to get the value.
      
      llvm-svn: 141561
      caf3390d
  8. Oct 08, 2011
  9. Oct 07, 2011
  10. Oct 06, 2011
  11. Oct 05, 2011
  12. Oct 04, 2011
  13. Oct 03, 2011
    • Anna Zaks's avatar
      [analyzer] In UndefBranchChecker, use a node generator which does not create... · 892427e2
      Anna Zaks authored
      [analyzer] In UndefBranchChecker, use a node generator which does not create an edge/branching. (ExprEngine should be in charge of generating edges. The checkers should examine the condition and generate PostCondition node if needed.)
      
      llvm-svn: 141034
      892427e2
    • Anna Zaks's avatar
      [analyzer] Cleanup in UndefBranchChecker: · c42197d0
      Anna Zaks authored
        - Remove unused FindUndefExpr::ProgramStateManager.
        - The Condition parameter of the callback is the terminator of the block, no need to retrieve it again.
      
      llvm-svn: 141027
      c42197d0
    • 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
  14. 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
  15. Sep 30, 2011
  16. Sep 28, 2011
  17. Sep 24, 2011
  18. Sep 23, 2011
  19. 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
  20. 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
Loading