Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 7 pull requests #66997

Merged
merged 31 commits into from
Dec 3, 2019
Merged

Rollup of 7 pull requests #66997

merged 31 commits into from
Dec 3, 2019

Commits on Nov 30, 2019

  1. Configuration menu
    Copy the full SHA
    cb08677 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2019

  1. Configuration menu
    Copy the full SHA
    ff5fcac View commit details
    Browse the repository at this point in the history
  2. Update the minimum external LLVM to 7

    LLVM 7 is over a year old, which should be plenty for compatibility. The
    last LLVM 6 holdout was llvm-emscripten, which went away in rust-lang#65501.
    
    I've also included a fix for LLVM 8 lacking `MemorySanitizerOptions`,
    which was broken by rust-lang#66522.
    cuviper committed Dec 2, 2019
    Configuration menu
    Copy the full SHA
    2304c25 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2019

  1. Change linker for x86_64-fortanix-unknown-sgx to rust-lld

    For SGX, the relocation using the relocation table is done by
    the code in rust/src/libstd/sys/sgx/abi/reloc.rs and this code
    should not require relocation. Setting RelaxELFRelocations flag
    if allows this to happen, hence adding a Target Option for it.
    parthsane committed Dec 3, 2019
    Configuration menu
    Copy the full SHA
    54b2060 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0be80f2 View commit details
    Browse the repository at this point in the history
  3. Update the wasi crate for wasm32-wasi

    This commit updates the `wasi` crate used by the standard library which
    is used to implement most of the functionality of libstd on the
    `wasm32-wasi` target. This update comes with a brand new crate structure
    in the `wasi` crate which caused quite a few changes for the wasi target
    here, but it also comes with a significant change to where the
    functionality is coming from.
    
    The WASI specification is organized into "snapshots" and a new snapshot
    happened recently, so the WASI APIs themselves have changed since the
    previous revision. This had only minor impact on the public facing
    surface area of libstd, only changing on `u32` to a `u64` in an unstable
    API. The actual source for all of these types and such, however, is now
    coming from the `wasi_preview_snapshot1` module instead of the
    `wasi_unstable` module like before. This means that any implementors
    generating binaries will need to ensure that their embedding environment
    handles the `wasi_preview_snapshot1` module.
    alexcrichton committed Dec 3, 2019
    Configuration menu
    Copy the full SHA
    f3fb1c5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2ea1833 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b7cd58c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c761ec1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    984c74a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4351698 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    433e546 View commit details
    Browse the repository at this point in the history
  10. Move Lint to rustc_session

    This commit breaks early-lint registration, which will be fixed in the
    next commit. This movement will allow essentially all crates in the compiler
    tree to declare lints (though not lint passes).
    Mark-Simulacrum committed Dec 3, 2019
    Configuration menu
    Copy the full SHA
    526ee51 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    f03d8f3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    285144a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    72c67be View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f2a8aed View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    e810b7e View commit details
    Browse the repository at this point in the history
  16. Duplicate CrateConfig into Session

    Since it's just a type alias this isn't too difficult and once Session
    is moved back we can make this be the canonical location.
    Mark-Simulacrum committed Dec 3, 2019
    Configuration menu
    Copy the full SHA
    2731075 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    817d1ae View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    52d4d47 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    cc2c33a View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    42c4ae0 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    68fb218 View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#66750 - alexcrichton:update-wasi, r=sfackler

    Update the `wasi` crate for `wasm32-wasi`
    
    This commit updates the `wasi` crate used by the standard library which
    is used to implement most of the functionality of libstd on the
    `wasm32-wasi` target. This update comes with a brand new crate structure
    in the `wasi` crate which caused quite a few changes for the wasi target
    here, but it also comes with a significant change to where the
    functionality is coming from.
    
    The WASI specification is organized into "snapshots" and a new snapshot
    happened recently, so the WASI APIs themselves have changed since the
    previous revision. This had only minor impact on the public facing
    surface area of libstd, only changing on `u32` to a `u64` in an unstable
    API. The actual source for all of these types and such, however, is now
    coming from the `wasi_preview_snapshot1` module instead of the
    `wasi_unstable` module like before. This means that any implementors
    generating binaries will need to ensure that their embedding environment
    handles the `wasi_preview_snapshot1` module.
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    1b83dcf View commit details
    Browse the repository at this point in the history
  23. Rollup merge of rust-lang#66878 - Mark-Simulacrum:sess-decouple, r=Ce…

    …ntril
    
    Move Sessions into (new) librustc_session
    
    This PR moves `ParseSess` and `Session` from their current locations into a new crate, `librustc_session`.
    
    There are several intents behind this change. librustc is a very large crate, and we want to split it up over time -- this movement removes the sizeable session module from it. It also helps allow for future movement of things not coupled to TyCtxt but coupled to Session out of the crate.
    
    This movement allows allows for a future follow-up PR which unifies Session and ParseSess, allowing for a single source of truth for APIs interested in global options throughout the compiler; the ParseSess is already created directly as a member of Session in the current compiler (i.e., we do not first construct a ParseSess and then move it into Session later in the compilation).
    
    This PR intentionally avoids changing numerous imports throughout the tree to new locations of the moved types; this is needless noise and can be done as needed.
    
    In the process of moving the sessions back, the lint system received an update as well -- notably, early buffered lints are no longer ad-hoc declared as enum pairs and later associated with proper lint declarations. They are still separately handled (buffered), it is a little unclear whether this is truly necessary, but regardless is left for future PRs.
    
    Many of the types moved back are sort of ad-hoc placed into the same crate (librustc_session) instead of creating other crates; it's unclear whether this is actually a good thing, but it seemed better than creating numerous tiny crates which served no purpose on their own.
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    b6602d2 View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#66903 - Centril:parse-enum-variant, r=estebank

    parse_enum_item -> parse_enum_variant
    
    r? @estebank
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    d4b6235 View commit details
    Browse the repository at this point in the history
  25. Rollup merge of rust-lang#66951 - RalfJung:miri-machine-stop, r=oli-obk

    miri: add throw_machine_stop macro
    
    r? @oli-obk
    This helps Miri: rust-lang/miri#1093
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    71d1286 View commit details
    Browse the repository at this point in the history
  26. Rollup merge of rust-lang#66957 - parthsane:pvs/ftx_lld_linker, r=ale…

    …xcrichton
    
    Change Linker for x86_64-fortanix-unknown-sgx target to rust-lld
    
    Changed linker for `x86_64-fortanix-unknown-sgx` target to `rust-lld`
    This change needed the RelaxELFRelocations flag to be set for it to work correctly
    
    r? @jethrogb
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    69f1323 View commit details
    Browse the repository at this point in the history
  27. Rollup merge of rust-lang#66960 - wesleywiser:fix_66787_take2, r=oli-…

    …obk,RalfJung
    
    [const-prop] Fix ICE calculating enum discriminant
    
    Fixes rust-lang#66787
    
    Different approach than rust-lang#66857
    
    r? @oli-obk
    cc @RalfJung @eddyb
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    ded9885 View commit details
    Browse the repository at this point in the history
  28. Rollup merge of rust-lang#66973 - cuviper:min-llvm7, r=alexcrichton

    Update the minimum external LLVM to 7
    
    LLVM 7 is over a year old, which should be plenty for compatibility. The
    last LLVM 6 holdout was llvm-emscripten, which went away in rust-lang#65501.
    
    I've also included a fix for LLVM 8 lacking `MemorySanitizerOptions`,
    which was broken by rust-lang#66522.
    Centril authored Dec 3, 2019
    Configuration menu
    Copy the full SHA
    8dcb532 View commit details
    Browse the repository at this point in the history