Skip to content
  1. Jan 25, 2010
    • Ted Kremenek's avatar
    • Ted Kremenek's avatar
      Split libAnalysis into two libraries: libAnalysis and libChecker. · d6b87086
      Ted Kremenek authored
      (1) libAnalysis is a generic analysis library that can be used by
          Sema.  It defines the CFG, basic dataflow analysis primitives, and
          inexpensive flow-sensitive analyses (e.g. LiveVariables).
      
      (2) libChecker contains the guts of the static analyzer, incuding the
          path-sensitive analysis engine and domain-specific checks.
      
      Now any clients that want to use the frontend to build their own tools
      don't need to link in the entire static analyzer.
      
      This change exposes various obvious cleanups that can be made to the
      layout of files and headers in libChecker.  More changes pending.  :)
      
      This change also exposed a layering violation between AnalysisContext
      and MemRegion.  BlockInvocationContext shouldn't explicitly know about
      BlockDataRegions.  For now I've removed the BlockDataRegion* from
      BlockInvocationContext (removing context-sensitivity; although this
      wasn't used yet).  We need to have a better way to extend
      BlockInvocationContext (and any LocationContext) to add
      context-sensitivty.
      
      llvm-svn: 94406
      d6b87086
  2. Jan 20, 2010
  3. Dec 03, 2009
  4. Nov 28, 2009
  5. Nov 13, 2009
  6. Nov 05, 2009
  7. Sep 09, 2009
  8. Aug 25, 2009
  9. Aug 23, 2009
  10. Jul 29, 2009
  11. Jul 28, 2009
    • Ted Kremenek's avatar
      (1) Enable PlistDiagnostics to take an option "PathDiagnosticClientFactory" · 04ade6f1
      Ted Kremenek authored
      object that it can use to forward PathDiagnostics for further processing. Along
      with this feature, the PlistDiagnostics object logs which files are created by
      the forwarding of the PathDiagnostics.
      
      (2) Create a new PathDiagnosticClientFactory object for HTMLDiagnostics,
      allowing other PathDiagnosticClients to forward PathDiagnostics through an
      opaque interface.
      
      (3) Create a "plist-html" diagnostics option in AnalysisConsumer to allow the
          logging of HTML files created in a hybrid Plist+HTML diagnostic client.
      
      llvm-svn: 77264
      04ade6f1
  12. Jul 15, 2009
  13. Apr 29, 2009
    • Ted Kremenek's avatar
      BugReporter/PathDiagnostics: · 47187c6a
      Ted Kremenek authored
      - Add an (optional) short description for BugReports for clients that want
        to distinguish between long and short descriptions for bugs
      - Make the bug report for VLA less obscene for Plist diagnostics by using
        the short description
      
      llvm-svn: 70415
      47187c6a
  14. Apr 23, 2009
  15. Apr 21, 2009
  16. Apr 15, 2009
    • Chris Lattner's avatar
      Change Lexer::MeasureTokenLength to take a LangOptions reference. · 184e65d3
      Chris Lattner authored
      This allows it to accurately measure tokens, so that we get:
      
      t.cpp:8:13: error: unknown type name 'X'
      static foo::X  P;
             ~~~~~^
      
      instead of the woefully inferior:
      
      t.cpp:8:13: error: unknown type name 'X'
      static foo::X  P;
             ~~~~ ^
      
      Most of this is just plumbing to push the reference around.
      
      llvm-svn: 69099
      184e65d3
  17. Apr 05, 2009
  18. Apr 02, 2009
  19. Apr 01, 2009
  20. Mar 31, 2009
  21. Mar 28, 2009
  22. Mar 27, 2009
  23. Mar 19, 2009
  24. Mar 12, 2009
    • Ted Kremenek's avatar
      PathDiagnostics: · 9d1ce8fa
      Ted Kremenek authored
      - PathDiagnosticControlFlowPiece now consists of a "start" and "end" location
        to indicating the branch location and where the branch goes.
      
      BugReporter:
      - Updated BugReporter to construct PathDiagnosticControlFlowPiece objects with
        "end" locations.
      
      PlistDiagnostics:
      - Plists now contain the bug "type" (not just bug "category")
      - Plists now encode control-flow pieces differently than events; now the
        "start" and "end" locations are recorded
      
      llvm-svn: 66818
      9d1ce8fa
  25. Mar 10, 2009
  26. Mar 02, 2009
  27. Feb 02, 2009
  28. Jan 23, 2009
  29. Jan 21, 2009
  30. Jan 19, 2009
  31. Jan 17, 2009
    • Chris Lattner's avatar
      this massive patch introduces a simple new abstraction: it makes · d32480d3
      Chris Lattner authored
      "FileID" a concept that is now enforced by the compiler's type checker
      instead of yet-another-random-unsigned floating around.
      
      This is an important distinction from the "FileID" currently tracked by
      SourceLocation.  *That* FileID may refer to the start of a file or to a
      chunk within it.  The new FileID *only* refers to the file (and its 
      #include stack and eventually #line data), it cannot refer to a chunk.
      
      FileID is a completely opaque datatype to all clients, only SourceManager
      is allowed to poke and prod it.
      
      llvm-svn: 62407
      d32480d3
Loading