Skip to content
Snippets Groups Projects
  1. Mar 21, 2019
  2. Mar 17, 2019
  3. Mar 16, 2019
  4. Mar 11, 2019
  5. Feb 22, 2019
  6. Feb 20, 2019
  7. Feb 09, 2019
  8. Feb 05, 2019
  9. Jan 24, 2019
    • Yuka Takahashi's avatar
      [cxxmodules] Introduce virtual modulemap overlay file (#3267) · 89ea0e7b
      Yuka Takahashi authored
      This patch includes:
      - Remove existing modulemap.overlay files
        Cling now can generate virtual overlay files on-demand.
      - Implement `-modulemap_overlay` flag to Cling
        This flag is used to tell Cling the location of modulemaps to be
        overlayed. (eg. stl.modulemap, libc.modulemap)
      - Generate and load virtual modulemap in Cling
        It is in Interpreter constructor, happens as part of cxxmodules
        initialization step.
      - Implement an interface to Clang CompilerInvocation which can take FileSystem pointer
        Previously, Clang only took a "string of filenames" which clearly doesn't
        work for our usecase. We already discussed this new interface at
        modules meeting, so this change will land upstream.
      - Add a file existence check in Clang
        When compiling a pcm and when Clang saw the #include with which pcm was available
        (or being generated implicitly), Clang was putting a notation of the full path to this pcm.
        This caused an error when build directory was deleted, because the path didn't exist anymore.
      
      This patch enables modules to be binary distributed, and to make it
      work in CMSSW enviroment.
      Unverified
      89ea0e7b
  10. Jan 10, 2019
  11. Jan 09, 2019
  12. Dec 20, 2018
  13. Dec 17, 2018
    • Yuka Takahashi's avatar
      [cxxmodules] Don't complain when modulemap for implicit modules has changed · 4c0d5eee
      Yuka Takahashi authored
      This patch (also) aims to make runtime module installable.
      
      This part of code in Clang is comparing the location of "modulemap which
      is currently loaded and gives a definition of current module (say, stl)
      and "the location of the modulemap where the current implicit module (like stl) was built".
      
      This was problematic for CMSSW, as they should install modulemaps
      and prebuilt pcms to other directory. stl and libc pcms should be
      prebuilt, installed and used from installed directory, so this check is
      redundant for that usecase.
      4c0d5eee
  14. Dec 13, 2018
    • Yuka Takahashi's avatar
      [cxxmodules] Support autoloading of dynamic symbols and callback from IncrementalExecutor · 03bc9eef
      Yuka Takahashi authored
      This patch contains two functionality:
      1. Autoloading of dynamic symbols for system headers
         There is three kind of symbols in shared object file, which is 1
         normal symbols, 2 dynamic symbols, and 3 hidden visibility symbols.
         Linker doesn't care about 3, but should take care (of course) 1 and
         2. For system headers, often symbols are defined in .dynsym section
         which means they are 2 dynamic symbols. This patch adds support of
         autoloading those symbols. We fallback to resolving dynamic symbols
         from system headers only if we couldn't resolve from normal symbol
         table, as the initialization of header search is expensive (iterating
         through all system headers)
      2. Register callback from IncrementalExecutor
         Previously, LazyFunctionCreatorAutoload was getting callback only
         from DynamicLibraryManager::loadLibrary. This was enough for fixing
         tests, but is insufficient to handle "symbol <something> unresolved
         while linking function" errors as those errors are emitted from
         IncrementalExecutor. Adding a callback from IncrementalExecutor
         enables us to unresolved symbols.
      
      It fixes these kind of errors:
      `IncrementalExecutor::executeFunction: symbol '_ZN7TCanvasC1EPKcS1_iiii' unresolved while linking function '_GLOBAL__sub_I_cling_module_8'!`
      03bc9eef
  15. Nov 27, 2018
  16. Nov 20, 2018
  17. Nov 19, 2018
  18. Nov 17, 2018
  19. Nov 16, 2018
  20. Nov 15, 2018
  21. Nov 06, 2018
  22. Nov 01, 2018
    • Vassil Vassilev's avatar
      [modules] Enable builds on OSX with modules. · ed430c32
      Vassil Vassilev authored
      XCode 10 comes with -fmodules-local-submodule-visibility aware toolchain.
      
      This patch adjusts a few flags to enable a cxxmodules=On builds for this
      platform. This patch will pave our way for enabling runtime_cxxmodules on OSX.
      ed430c32
  23. Oct 31, 2018
  24. Oct 30, 2018
Loading