Skip to content
Snippets Groups Projects
  1. Jul 31, 2017
  2. Jul 29, 2017
  3. Jul 26, 2017
  4. Jul 25, 2017
  5. Jul 22, 2017
  6. Jul 20, 2017
  7. Jul 19, 2017
  8. Jul 14, 2017
  9. Jul 11, 2017
  10. Jul 07, 2017
  11. Jul 05, 2017
  12. Jul 03, 2017
  13. Jul 01, 2017
  14. Jun 26, 2017
  15. Jun 23, 2017
  16. Jun 19, 2017
  17. Jun 16, 2017
  18. Jun 15, 2017
  19. Jun 13, 2017
  20. Jun 10, 2017
  21. Jun 09, 2017
  22. Jun 06, 2017
  23. Jun 05, 2017
    • Javed Absar's avatar
      Add support for #pragma clang section · 7c787101
      Javed Absar authored
      This patch provides a means to specify section-names for global variables, 
      functions and static variables, using #pragma directives. 
      This feature is only defined to work sensibly for ELF targets.
      One can specify section names as:
      #pragma clang section bss="myBSS" data="myData" rodata="myRodata" text="myText"
      One can "unspecify" a section name with empty string e.g.
      #pragma clang section bss="" data="" text="" rodata=""
      
      Reviewers: Roger Ferrer, Jonathan Roelofs, Reid Kleckner
      Differential Revision: https://reviews.llvm.org/D33412
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304705 91177308-0d34-0410-b5e6-96231b3b80d8
      7c787101
  24. Jun 02, 2017
    • Richard Smith's avatar
      Support lazy stat'ing of files referenced by module maps. · 146ecad7
      Richard Smith authored
      This patch adds support for a `header` declaration in a module map to specify
      certain `stat` information (currently, size and mtime) about that header file.
      This has two purposes:
      
      - It removes the need to eagerly `stat` every file referenced by a module map.
        Instead, we track a list of unresolved header files with each size / mtime
        (actually, for simplicity, we track submodules with such headers), and when
        attempting to look up a header file based on a `FileEntry`, we check if there
        are any unresolved header directives with that `FileEntry`'s size / mtime and
        perform deferred `stat`s if so.
      
      - It permits a preprocessed module to be compiled without the original files
        being present on disk. The only reason we used to need those files was to get
        the `stat` information in order to do header -> module lookups when using the
        module. If we're provided with the `stat` information in the preprocessed
        module, we can avoid requiring the files to exist.
      
      Unlike most `header` directives, if a `header` directive with `stat`
      information has no corresponding on-disk file the enclosing module is *not*
      marked unavailable (so that behavior is consistent regardless of whether we've
      resolved a header directive, and so that preprocessed modules don't get marked
      unavailable). We could actually do this for all `header` directives: the only
      reason we mark the module unavailable if headers are missing is to give a
      diagnostic slightly earlier (rather than waiting until we actually try to build
      the module / load and validate its .pcm file).
      
      Differential Revision: https://reviews.llvm.org/D33703
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304515 91177308-0d34-0410-b5e6-96231b3b80d8
      146ecad7
Loading