Skip to content
Snippets Groups Projects
  1. Jan 03, 2018
  2. Dec 14, 2017
  3. Dec 07, 2017
  4. Dec 05, 2017
    • Shoaib Meenai's avatar
      [CMake] Use PRIVATE in target_link_libraries for executables · 456e35cb
      Shoaib Meenai authored
      We currently use target_link_libraries without an explicit scope
      specifier (INTERFACE, PRIVATE or PUBLIC) when linking executables.
      Dependencies added in this way apply to both the target and its
      dependencies, i.e. they become part of the executable's link interface
      and are transitive.
      
      Transitive dependencies generally don't make sense for executables,
      since you wouldn't normally be linking against an executable. This also
      causes issues for generating install export files when using
      LLVM_DISTRIBUTION_COMPONENTS. For example, clang has a lot of LLVM
      library dependencies, which are currently added as interface
      dependencies. If clang is in the distribution components but the LLVM
      libraries it depends on aren't (which is a perfectly legitimate use case
      if the LLVM libraries are being built static and there are therefore no
      run-time dependencies on them), CMake will complain about the LLVM
      libraries not being in export set when attempting to generate the
      install export file for clang. This is reasonable behavior on CMake's
      part, and the right thing is for LLVM's build system to explicitly use
      PRIVATE dependencies for executables.
      
      Unfortunately, CMake doesn't allow you to mix and match the keyword and
      non-keyword target_link_libraries signatures for a single target; i.e.,
      if a single call to target_link_libraries for a particular target uses
      one of the INTERFACE, PRIVATE, or PUBLIC keywords, all other calls must
      also be updated to use those keywords. This means we must do this change
      in a single shot. I also fully expect to have missed some instances; I
      tested by enabling all the projects in the monorepo (except dragonegg),
      and configuring both with and without shared libraries, on both Darwin
      and Linux, but I'm planning to rely on the buildbots for other
      configurations (since it should be pretty easy to fix those).
      
      Even after this change, we still have a lot of target_link_libraries
      calls that don't specify a scope keyword, mostly for shared libraries.
      I'm thinking about addressing those in a follow-up, but that's a
      separate change IMO.
      
      Differential Revision: https://reviews.llvm.org/D40823
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319840 91177308-0d34-0410-b5e6-96231b3b80d8
      456e35cb
  5. Dec 04, 2017
  6. Nov 30, 2017
  7. Sep 22, 2017
    • Dave Lee's avatar
      [index] Generate class & metaclass manglings for objc · d454549f
      Dave Lee authored
      Summary:
      ObjC classes have two associated symbols, one for the class and one for the
      metaclass.
      
      This change overloads `CodegenNameGenerator::getAllManglings` to produce both
      class and metaclass symbols.
      
      While this function is called by `clang_Cursor_getCXXManglings`, it's only
      called for CXXRecordDecl and CXXMethodDecl, and so libclang's behavior is
      unchanged.
      
      Reviewers: arphaman, abdulras, alexshap, compnerd
      
      Reviewed By: compnerd
      
      Subscribers: compnerd
      
      Differential Revision: https://reviews.llvm.org/D37671
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@313997 91177308-0d34-0410-b5e6-96231b3b80d8
      d454549f
  8. Jul 12, 2017
  9. Jun 30, 2017
  10. Jun 28, 2017
  11. Jun 09, 2017
  12. May 30, 2017
    • Erik Verbruggen's avatar
      [libclang] Allow to suspend a translation unit. · 91321d98
      Erik Verbruggen authored
      A suspended translation unit uses significantly less memory but on the
      other side does not support any other calls than
      clang_reparseTranslationUnit to resume it or
      clang_disposeTranslationUnit to dispose it completely.
      
      This helps IDEs to reduce the memory footprint. The data that is freed
      by a call to clang_suspendTranslationUnit will be re-generated on the
      next (re)parse anyway. Used with a preamble, this allows pretty fast
      resumption of the translation unit for further use (compared to disposal
      of the translation unit and a parse from scratch).
      
      Patch by Nikolai Kosjar!
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304212 91177308-0d34-0410-b5e6-96231b3b80d8
      91321d98
  13. May 10, 2017
  14. Apr 28, 2017
  15. Apr 27, 2017
  16. Apr 24, 2017
  17. Mar 21, 2017
  18. Feb 26, 2017
  19. Feb 23, 2017
  20. Feb 15, 2017
  21. Jan 30, 2017
  22. Jan 29, 2017
  23. Jan 09, 2017
  24. Jan 06, 2017
  25. Jan 05, 2017
  26. Dec 16, 2016
  27. Dec 02, 2016
  28. Nov 12, 2016
  29. Oct 08, 2016
  30. Jul 30, 2016
  31. Jun 09, 2016
  32. Jun 01, 2016
Loading