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 12 pull requests #63588

Closed
wants to merge 40 commits into from
Closed

Commits on Jul 31, 2019

  1. Fix UWP build

    mfkl committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    5e6619e View commit details
    Browse the repository at this point in the history
  2. Fix README MSVC URI

    mfkl committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    54e268c View commit details
    Browse the repository at this point in the history
  3. Add UWP MSVC targets

    mfkl committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    6e4d023 View commit details
    Browse the repository at this point in the history
  4. Fix tidy checks

    mfkl committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    3c6f6f0 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2019

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

Commits on Aug 8, 2019

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

Commits on Aug 10, 2019

  1. rustc_target: add n64 musl targets for MIPS64 arches

    Hard-float (unlike mips32 musl targets but consistent with any other
    musl target), MIPS64r2, n64 ABI.
    
    The triples are renamed to carry the `abi64` ABI suffix found on all
    other MIPS64 targets, for consistency and forward compatibility, should
    Rust gain support for the n32 ABI one day.
    xen0n committed Aug 10, 2019
    Configuration menu
    Copy the full SHA
    30fcd50 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2019

  1. Add initial files for iOS catalyst / macabi support

    This is a first attempt of adding support for the new Apple Catalyst ABI (i.e. running iOS apps on macOS). Currently, `rustc` supports the iOS and iOS simulator targets for iOS:
    - iOS: ARM cpu, iOS SDK, linked agains the iOS ABI
    - Simulator: X86_64 cpu, iOS SDK, linked against the iOS ABI
    
    Apple Catalyst will add an additional target:
    - Macabi: X86_64 CPU, iOS SDK, linked again the macOS ABI.
    
    Note, it the actual SDK is the also the macOS 10.15 SDK, but the symbols are the iOS SDK symbols as they were added to macOS with 10.15.
    
    This commits adds the files for this new target triple.
    terhechte committed Aug 11, 2019
    Configuration menu
    Copy the full SHA
    af1e668 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2019

  1. Configuration menu
    Copy the full SHA
    c9da160 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c037597 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2882bee View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    22127b1 View commit details
    Browse the repository at this point in the history
  5. Fix indentation nit in src/librustc/mir/mod.rs.

    Co-Authored-By: bjorn3 <[email protected]>
    eddyb and bjorn3 authored Aug 12, 2019
    Configuration menu
    Copy the full SHA
    d30f481 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2019

  1. Configuration menu
    Copy the full SHA
    1581c43 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    417f9ea View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2019

  1. Configuration menu
    Copy the full SHA
    c1758d5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ed7317c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e5017de View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2019

  1. Configuration menu
    Copy the full SHA
    5b88fba View commit details
    Browse the repository at this point in the history
  2. Make sure that all file loading happens via SourceMap

    That way, callers don't need to repeat "let's add this to sm manually
    for tracking dependencies" trick.
    
    It should make it easier to switch to using `FileLoader` for binary
    files in the future as well
    matklad committed Aug 15, 2019
    Configuration menu
    Copy the full SHA
    66dc08a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    14bc998 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    29b5ebf View commit details
    Browse the repository at this point in the history
  5. Adjust regression test

    JohnTitor committed Aug 15, 2019
    Configuration menu
    Copy the full SHA
    e688352 View commit details
    Browse the repository at this point in the history
  6. Use is_const()

    JohnTitor committed Aug 15, 2019
    Configuration menu
    Copy the full SHA
    7adb20e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    73d2da0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    433b1e3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6e8639a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    a618271 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#63155 - mfkl:uwp-msvc, r=alexcrichton

    Add UWP MSVC targets
    
    Hi,
    
    - The README URI change is the correct one for VS2019 community edition, which I suspect most people would use. Doesn't _need_ to be merged though.
    - This rust-lang@5e6619e fixes the UWP build (msvc or not, doesn't matter). I suspect it broke with recent changes unnoticed because no CI.
    - Store lib location is found through the VCToolsInstallDir env variable. The end of the path is currently for the VS2019 store lib locations only.
    - I could not test the aarch64_uwp_windows_msvc target because the rust build script does not currently support arm64 msvc AFAIU.
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    bb36b9d View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#63165 - xen0n:mips64-musl-targets, r=alexcr…

    …ichton
    
    Add builtin targets for mips64(el)-unknown-linux-muslabi64
    
    This is prerequisite for rust-lang/libc#1449.
    
    Tested locally to produce working static and dynamic binaries, ~~but CI config is untested for now~~ CI is to be added in a follow-up PR.
    
    *edit: dynamic binaries also confirmed working!*
    
    *edit 2: changed triples to include ABI, and removed stray `crt_static_default = false` declarations to be consistent with other musl targets*
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    fa9670d View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#63467 - terhechte:support-ios-catalyst-maca…

    …bi-target-triple, r=estebank
    
    Add Catalyst (iOS apps running on macOS) target
    
    This is a first attempt of adding support for the new [Apple Catalyst](https://developer.apple.com/ipad-apps-for-mac/) target (i.e. running iOS apps on macOS). Currently, `rustc` supports the iOS and iOS simulator targets for iOS:
    - iOS: ARM cpu, iOS SDK, linked agains the iOS ABI
    - Simulator: X86_64 cpu, iOS SDK, linked against the iOS ABI
    
    Apple Catalyst will add an additional target:
    - Macabi: X86_64 CPU, iOS SDK, linked again the macOS ABI.
    
    Note, it the actual SDK is the also the macOS 10.15 SDK, but the symbols are the iOS SDK symbols as they were added to macOS with 10.15.
    
    I've collected additional information via links in the open question sections below. This is way out of my comfort zone so please excuse whatever errors I may have made.
    
    # Open Questions:
    
    ## Clang Version
    It seems to me that `macabi` has not been merged into `clang` yet, I don't know whether that is a requirement rustc to compile, or if it is sufficient if the Clang that is used on a developers system is the correct one supporting macabi (that comes with current Xcode)
    
    ## Hardcoded iOS version
    
    `swift-llvm` actually used [x86_64-apple-ios13.0-macabi](apple/swift-llvm@3f1fd4f) as the target triple which hard-codes the current iOS version. A post on stackoverflow [points out that `MIN_IOS_VERSION` and `MIN_OSX_VERSION` should be used when compiling C code for clang (`-target x86_64-apple-ios${MIN_IOS_VERSION}-macabi`)](https://stackoverflow.com/questions/56487645/how-to-compile-a-3rd-party-library-to-be-used-with-uikit-for-mac-catalyst). However, I wasn't entirely sure how to do that in this PR. Pointers welcome.
    
    ## Data Layout
    I'm probably using the wrong data-layout. I don't know whether it should be the macOS version or the iOS version. This is probably easier to answer for somebody who understands these things much better than me. I just copied the iOS Simulator X86_64 version as it seems to be (based on what I understand) that Catalyst is just the simulator target build against a different SDK.
    
    # Current State
    1. I got it to compile
    2. I could successfully compile a `macabi` `libcore` via `cargo build --target x86_64-apple-ios-macabi`
    
    I'm not sure what needs to be done next. Supposedly I need to compile everything into a toolchain somehow that I can then test via `rustup` to make sure that a binary compiled against the toolchain also works with Catalyst. [I read this article, but I'm still lost](https://www.reddit.com/r/rust/comments/5ag60z/how_do_i_bootstrap_rust_to_crosscompile_for_a_new/d9gicr2/) and would love pointers what to do next here.
    
    # Additional Information
    - [Commit adding Catalyst support to the Swift Clang Fork](CocoaPods/CocoaPods#8877)
    - [Compiling C to Catalyst Discussion](CocoaPods/CocoaPods#8877)
    - [CocoaPods Discussion on Adding Catalyst support](CocoaPods/CocoaPods#8877)
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    44b581e View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#63470 - Mark-Simulacrum:rustc-depdep, r=ale…

    …xcrichton
    
    Utilize -Zbinary-dep-depinfo in rustbuild
    
    The last commit moves us over to using binary-dep-depinfo while the first two permit us to bootstrap from what will become future beta, to be released in the next week (it's the `cfg(bootstrap)` processing).
    
    We no longer utilize stamp-file mtimes at all inside rustbuild, and a future PR may be able to entirely eliminate them by eagerly copying to the appropriate sysroot. The only mtime-based dependency tracking left is for documentation because we lie to Cargo about the rustdoc binary, so Cargo does not track changes to the real binary, and codegen-backends because binary-dep-depinfo does not emit that information into the depfiles.
    
    Both of these are fixable in the longer term but this existing patch gives us the following benefits:
     * We no longer delete Cargo target directories manually within a stage. Cross-stage, changes to codegen backends will still clear out target directories. This means that incremental state persists across individual steps (e.g., rebuilding libstd does not clear out librustc incremental state). Fixes rust-lang#54712.
     * Dependency tracking across steps within a given stage is now fully precise. We will not clear out all codegen backend dependencies due to changes in librustc_driver, for example, only deleting the final librustc_codegen_llvm crate. Fixes rust-lang#54008, fixes rust-lang#50481.
     * We properly track codegen backends as a dependency (equivalent to rustc) across changes. Fixes rust-lang#53284, and fixes rust-lang#52719.
     * Cross-stage dependency tracking of crates is also much more accurate and reliable. Most likely fixes rust-lang#49979 (but no reproduction steps in that issue). Fixes rust-lang#59105.
    
    cc rust-lang#63012
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    677edc3 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#63495 - eddyb:mir-constant-ty, r=oli-obk

     Remove redundant `ty` fields from `mir::Constant` and `hair::pattern::PatternRange`.
    
    Fixes rust-lang#56137.
    
    As a side-effect, associated const literals have the correct type now, which should make things easier for rust-lang#61041.
    
    r? @oli-obk / @matthewjasper cc @davidtwco @varkor
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    7ff5b38 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#63525 - matklad:centraliza-file-loading, r=…

    …petrochenkov
    
    Make sure that all file loading happens via SourceMap
    
    That way, callers don't need to repeat "let's add this to sm manually
    for tracking dependencies" trick.
    
    It should make it easier to switch to using `FileLoader` for binary
    files in the future as well
    
    cc rust-lang#62948
    
    r? @petrochenkov
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    ce4a45d View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#63546 - lzutao:clouldabi-maybeuninit, r=Ral…

    …fJung
    
    Remove uses of `mem::uninitialized()` from cloudabi
    
    This PR removes uses of `mem::uninitialized` from `cloudabi` module,
    excluding the layout test in `src/libstd/sys/cloudabi/abi/cloudabi.rs`.
    
    r? @RalfJung
    cc @EdSchouten
    cc rust-lang#62397
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    87e3393 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#63559 - eddyb:v0-mangling-off-by-1, r=estebank

    rustc_codegen_utils: account for 1-indexed anonymous lifetimes in v0 mangling.
    
    I don't really understand why `anonymize_late_bound_regions` starts with `BrAnon(1)` instead of `BrAnon(0)`, but it does (maybe @nikomatsakis knows?): https://github.com/rust-lang/rust/blob/c43d03a19f326f4a323569328cc501e86eb6d22e/src/librustc/ty/fold.rs#L696-L712
    
    Thankfully, the mangling format and demangler implementations are fine, and I just needed to offset the anonymized lifetime indices by `1` to get the correct mangling.
    
    cc @alexcrichton @michaelwoerister
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    5d0b7b6 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#63572 - matklad:no-phase-fatal, r=estebank

    remove unused Level::PhaseFatal
    
    r? @estebank
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    9d2ebc2 View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#63577 - meffij:test-hrtb, r=alexcrichton

    Test HRTB issue accepted by compiler
    
    Hi! First Rust PR, so if anything needs changing just let me know and I'll take care of it right away.
    
    Closes rust-lang#50301 which was marked E-needstest
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    8576227 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    3815c5d View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#63586 - petrochenkov:nospanned, r=eddyb

    cleanup: Remove `Spanned` where possible
    
    It generally only makes sense on enums, otherwise it's more convenient to "flatten" it by adding a span field to the struct it wraps.
    Centril authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    432e886 View commit details
    Browse the repository at this point in the history