Skip to content
  1. Jun 16, 2010
  2. Jun 15, 2010
    • Daniel Dunbar's avatar
      Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration · c1b1729b
      Daniel Dunbar authored
      Currently, all AST consumers are located in the Frontend library,
      meaning that in a shared library configuration, Frontend has a
      dependency on Rewrite, Checker and CodeGen.  This is suboptimal for
      clients which only wish to make use of the frontend.  CodeGen in
      particular introduces a large number of unwanted dependencies.
      
      This patch breaks the dependency by moving all AST consumers with
      dependencies on Rewrite, Checker and/or CodeGen to their respective
      libraries.  The patch therefore introduces dependencies in the other
      direction (i.e. from Rewrite, Checker and CodeGen to Frontend).
      
      After applying this patch, Clang builds correctly using CMake and
      shared libraries ("cmake -DBUILD_SHARED_LIBS=ON").
      
      N.B. This patch includes file renames which are indicated in the
      patch body.
      
      Changes in this revision of the patch:
       - Fixed some copy-paste mistakes in the header files
       - Modified certain aspects of the coding to comply with the LLVM
         Coding Standards
      
      llvm-svn: 106010
      c1b1729b
  3. Jun 09, 2010
  4. Jun 08, 2010
  5. Jun 07, 2010
  6. Jun 03, 2010
  7. Jun 01, 2010
  8. May 31, 2010
  9. May 30, 2010
  10. May 29, 2010
  11. May 27, 2010
  12. May 26, 2010
  13. May 25, 2010
  14. May 21, 2010
  15. May 19, 2010
  16. May 18, 2010
  17. May 17, 2010
  18. May 15, 2010
    • John McCall's avatar
      Substantially alter the design of the Objective C type AST by introducing · 8b07ec25
      John McCall authored
      ObjCObjectType, which is basically just a pair of
        one of {primitive-id, primitive-Class, user-defined @class}
      with
        a list of protocols.
      An ObjCObjectPointerType is therefore just a pointer which always points to
      one of these types (possibly sugared).  ObjCInterfaceType is now just a kind
      of ObjCObjectType which happens to not carry any protocols.
      
      Alter a rather large number of use sites to use ObjCObjectType instead of
      ObjCInterfaceType.  Store an ObjCInterfaceType as a pointer on the decl rather
      than hashing them in a FoldingSet.  Remove some number of methods that are no
      longer used, at least after this patch.
      
      By simplifying ObjCObjectPointerType, we are now able to easily remove and apply
      pointers to Objective-C types, which is crucial for a certain kind of ObjC++
      metaprogramming common in WebKit.
      
      llvm-svn: 103870
      8b07ec25
  19. May 13, 2010
  20. May 11, 2010
  21. May 06, 2010
  22. May 05, 2010
Loading