Skip to content
Snippets Groups Projects
  1. Jun 19, 2017
  2. Jun 16, 2017
  3. Jun 15, 2017
  4. Jun 13, 2017
  5. Jun 10, 2017
  6. Jun 09, 2017
  7. Jun 06, 2017
  8. 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
  9. 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
  10. Jun 01, 2017
  11. May 31, 2017
  12. May 28, 2017
  13. May 27, 2017
  14. May 09, 2017
  15. May 08, 2017
  16. May 07, 2017
  17. May 06, 2017
  18. May 05, 2017
  19. May 02, 2017
  20. May 01, 2017
  21. Apr 24, 2017
  22. Apr 20, 2017
  23. Apr 19, 2017
  24. Apr 18, 2017
  25. Apr 14, 2017
  26. Apr 13, 2017
  27. Apr 12, 2017
    • Bruno Cardoso Lopes's avatar
      [Driver] Add compiler option to generate a reproducer · f2ee5f1a
      Bruno Cardoso Lopes authored
      One way to currently test the reproducers is to setup
      "FORCE_CLANG_DIAGNOSTICS_CRASH=1" before invoking clang. This simulates
      a crash and produces the same contents needed by the reproducers.  The
      reproducers are specially useful when triaging Modules issues, not only
      on crashes, but also for reproducing misleading warnings, errors, etc.
      
      Add a '-gen-reproducer' driver option to clang (or any similar name) and
      give users a flag option.
      
      Note that clang already has a -fno-crash-diagnostics, which disables the
      crash reproducers. I've decided not to propose "-fcrash-diagnostics"
      since it doesn't convey the ideia of reproduction despite a crash.
      
      rdar://problem/24114619
      
      Differential Revision: https://reviews.llvm.org/D27604
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300109 91177308-0d34-0410-b5e6-96231b3b80d8
      f2ee5f1a
Loading