1. 23 9月, 2017 6 次提交
  2. 18 9月, 2017 1 次提交
    • A
      rustc: Move codegen to a query · 6d614ddc
      Alex Crichton 提交于
      This commit moves the actual code generation in the compiler behind a query
      keyed by a codegen unit's name. This ended up entailing quite a few internal
      refactorings to enable this, along with a few cut corners:
      
      * The `OutputFilenames` structure is now tracked in the `TyCtxt` as it affects a
        whole bunch of trans and such. This is now behind a query and threaded into
        the construction of the `TyCtxt`.
      
      * The `TyCtxt` now has a channel "out the back" intended to send data to worker
        threads in rustc_trans. This is used as a sort of side effect of the codegen
        query but morally what's happening here is the return value of the query
        (currently unit but morally a path) is only valid once the background threads
        have all finished.
      
      * Dispatching work items to the codegen threads was refactored to only rely on
        data in `TyCtxt`, which mostly just involved refactoring where data was
        stored, moving it from the translation thread to the controller thread's
        `CodegenContext` or the like.
      
      * A new thread locals was introduced in trans to work around the query
        system. This is used in the implementation of `assert_module_sources` which
        looks like an artifact of the old query system and will presumably go away
        once red/green is up and running.
      6d614ddc
  3. 15 9月, 2017 1 次提交
    • A
      rustc: Remove `Session::dep_graph` · 1cf956f2
      Alex Crichton 提交于
      This commit removes the `dep_graph` field from the `Session` type according to
      issue #44390. Most of the fallout here was relatively straightforward and the
      `prepare_session_directory` function was rejiggered a bit to reuse the results
      in the later-called `load_dep_graph` function.
      
      Closes #44390
      1cf956f2
  4. 12 9月, 2017 1 次提交
  5. 10 9月, 2017 1 次提交
  6. 27 8月, 2017 1 次提交
  7. 26 8月, 2017 1 次提交
  8. 23 8月, 2017 2 次提交
  9. 19 8月, 2017 1 次提交
  10. 16 8月, 2017 1 次提交
  11. 13 8月, 2017 2 次提交
  12. 12 8月, 2017 1 次提交
  13. 11 8月, 2017 3 次提交
  14. 10 8月, 2017 1 次提交
  15. 08 8月, 2017 1 次提交
  16. 07 8月, 2017 1 次提交
    • Z
      de-orphan extended information · 7efeade2
      Zack M. Davis 提交于
      Bizarrely, librustc_passes, librustc_plugin, librustc_mir, and libsyntax
      weren't getting their error explanations registered.
      
      Resolves #35284.
      7efeade2
  17. 02 8月, 2017 1 次提交
  18. 30 7月, 2017 1 次提交
  19. 24 7月, 2017 1 次提交
  20. 22 7月, 2017 2 次提交
  21. 06 7月, 2017 1 次提交
    • A
      rustc: Implement the #[global_allocator] attribute · 695dee06
      Alex Crichton 提交于
      This PR is an implementation of [RFC 1974] which specifies a new method of
      defining a global allocator for a program. This obsoletes the old
      `#![allocator]` attribute and also removes support for it.
      
      [RFC 1974]: https://github.com/rust-lang/rfcs/pull/197
      
      The new `#[global_allocator]` attribute solves many issues encountered with the
      `#![allocator]` attribute such as composition and restrictions on the crate
      graph itself. The compiler now has much more control over the ABI of the
      allocator and how it's implemented, allowing much more freedom in terms of how
      this feature is implemented.
      
      cc #27389
      695dee06
  22. 03 7月, 2017 6 次提交
  23. 02 7月, 2017 2 次提交
    • A
      report the total number of errors on compilation failure · fb7ab9e4
      Ariel Ben-Yehuda 提交于
      Prior to this PR, when we aborted because a "critical pass" failed, we
      displayed the number of errors from that critical pass. While that's the
      number of errors that caused compilation to abort in *that place*,
      that's not what people really want to know. Instead, always report the
      total number of errors, and don't bother to track the number of errors
      from the last pass that failed.
      
      This changes the compiler driver API to handle errors more smoothly,
      and therefore is a compiler-api-[breaking-change].
      
      Fixes #42793.
      fb7ab9e4
    • A
      Revert "Change error count messages" · 77f40223
      Ariel Ben-Yehuda 提交于
      This reverts commit 5558c64f.
      77f40223
  24. 23 6月, 2017 1 次提交