Skip to content
  1. Jun 20, 2012
    • Chandler Carruth's avatar
      Fix a big layering violation introduced by r158771. · 39a3e754
      Chandler Carruth authored
      That commit added a new library just to hold the RawCommentList. I've
      started a discussion on the commit thread about whether that is really
      meritted -- it certainly doesn't seem necessary at this stage.
      
      However, the immediate problem is that the AST library has a hard
      dependency on the Comment library, but the dependencies were set up
      completely backward. In addition to the layering violation, this had an
      unfortunate effect if scattering the Comments library dependency
      throughout the build system, but inconsistently so -- several parts of
      the CMake dependencies were missing and only showed up due to transitive
      deps or the fact that the target wasn't being built by tho bots.
      
      It turns out that the Comments library can't (currently) be a well
      formed layer *below* the AST library either, as it has an API that
      accepts an ASTContext. That parameter is currently unused, so maybe that
      was a mistake?
      
      Anyways, it really seems like this is logically part of the AST --
      that's the whole point of the ASTContext providing access to it as far
      as I can tell -- so I've merged it into the AST library to solve the
      immediate layering violation problems and remove some of the churn from
      our library dependencies.
      
      llvm-svn: 158807
      39a3e754
    • Dmitri Gribenko's avatar
      Structured comment parsing, first step. · aab8383a
      Dmitri Gribenko authored
      * Retain comments in the AST
      * Serialize/deserialize comments
      * Find comments attached to a certain Decl
      * Expose raw comment text and SourceRange via libclang
      
      llvm-svn: 158771
      aab8383a
  2. Apr 13, 2012
  3. Apr 04, 2012
    • Manuel Klimek's avatar
      Adds a tooling library. · 47c245a5
      Manuel Klimek authored
      Provides an API to run clang tools (FrontendActions) as standalone tools,
      or repeatedly in-memory in a process. This is useful for unit-testing,
      map-reduce style applications, source transformation daemons or command line
      tools.
      
      The ability to run over multiple translation units with different command
      line arguments enables building up refactoring tools that need to apply
      transformations across translation unit boundaries.
      
      See tools/clang-check/ClangCheck.cpp for an example.
      
      llvm-svn: 154008
      47c245a5
  4. Mar 06, 2012
    • Ted Kremenek's avatar
      Add new code migrator support for migrating existing Objective-C code to use · f7639e1b
      Ted Kremenek authored
      the new Objective-C NSArray/NSDictionary/NSNumber literal syntax.
      
      This introduces a new library, libEdit, which provides a new way to support
      migration of code that improves on the original ARC migrator.  We now believe
      that most of its functionality can be refactored into the existing libraries,
      and thus this new library may shortly disappear.
      
      llvm-svn: 152141
      f7639e1b
  5. Jun 16, 2011
  6. Jun 02, 2011
  7. Apr 30, 2011
  8. Dec 23, 2010
  9. Dec 22, 2010
  10. Aug 24, 2010
    • Peter Collingbourne's avatar
      Move ExecuteCompilerInvocation to a new library FrontendTool · 85dd0bd1
      Peter Collingbourne authored
      r110903 introduced a dependency from Frontend to every library that
      declared an Action by introducing Action references that previously
      resided in the driver in the file ExecuteCompilerInvocation.cpp.
      This patch moves ExecuteCompilerInvocation to a new library named
      FrontendTool which is intended to bear these dependencies.
      
      llvm-svn: 111873
      85dd0bd1
  11. Aug 17, 2010
  12. Jul 01, 2010
  13. Jun 08, 2010
  14. Jan 25, 2010
    • 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
  15. Jan 19, 2010
    • Daniel Dunbar's avatar
      Initial cut at integrating compiler-rt (on Darwin) w/ clang build. · 3779e1f4
      Daniel Dunbar authored
       - compiler-rt should be checked out into $LLVM_SRC_ROOT/projects/compiler-rt.
      
       - On Darwin, this will automatically build the runtime libraries clang needs
         into $OBJROOT/lib/clang/<version>/darwin/...
      
       - The mechanism can easily support other platforms, and can eventually support
         multiple platforms once clang has some kind of configure process (for
         specifying the desired targets).
      
       - Feedback on the approach is welcome.
      
      llvm-svn: 93910
      3779e1f4
  16. Jul 06, 2009
    • Argyrios Kyrtzidis's avatar
      Introduce the 'Index' library. · fe37cc83
      Argyrios Kyrtzidis authored
      Its purpose is to provide the basic infrastructure for cross-translation-unit analysis like indexing, refactoring, etc.
      
      Currently it is very "primitive" and with no type-names support. It can provide functionality like
      "show me all references of this function from these translation units".
      
      llvm-svn: 74802
      fe37cc83
  17. Mar 02, 2009
  18. Aug 06, 2008
  19. Mar 16, 2008
    • Chris Lattner's avatar
      Make a major restructuring of the clang tree: introduce a top-level · 7a51313d
      Chris Lattner authored
      lib dir and move all the libraries into it.  This follows the main
      llvm tree, and allows the libraries to be built in parallel.  The
      top level now enforces that all the libs are built before Driver,
      but we don't care what order the libs are built in.  This speeds
      up parallel builds, particularly incremental ones.
      
      llvm-svn: 48402
      7a51313d
  20. Dec 29, 2007
  21. May 06, 2007
  22. Apr 22, 2007
  23. Feb 02, 2007
    • Reid Spencer's avatar
      Changes to support making the shift instructions be true BinaryOperators. · 2341c22e
      Reid Spencer authored
      This feature is needed in order to support shifts of more than 255 bits
      on large integer types.  This changes the syntax for llvm assembly to
      make shl, ashr and lshr instructions look like a binary operator:
         shl i32 %X, 1
      instead of
         shl i32 %X, i8 1
      Additionally, this should help a few passes perform additional optimizations.
      
      llvm-svn: 33776
      2341c22e
  24. May 18, 2006
    • Reid Spencer's avatar
      Make some changes suggested by Chris: · a22a5b38
      Reid Spencer authored
      1. Remove the LLVM_DO_NOT_BUILD feature (not needed any more)
      2. Ensure that lib/VMCore gets built first. This needs to be done because
         VMCore now uses tblgen to generate the Intrinsics header which are
         needed in other libraries. In parallel builds, this can cause problems.
      
      llvm-svn: 28374
      a22a5b38
  25. May 17, 2006
  26. Nov 14, 2004
  27. Sep 15, 2004
  28. Feb 14, 2004
  29. Jan 05, 2004
  30. Oct 21, 2003
  31. Sep 29, 2003
  32. Sep 05, 2003
  33. Aug 21, 2003
  34. Jun 30, 2003
  35. Sep 18, 2002
Loading