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 21 pull requests #47522

Merged
merged 59 commits into from
Jan 17, 2018
Merged

Rollup of 21 pull requests #47522

merged 59 commits into from
Jan 17, 2018

Commits on Jan 9, 2018

  1. fix faulty comment

    andjo403 committed Jan 9, 2018
    Configuration menu
    Copy the full SHA
    bdc34fd View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2018

  1. Configuration menu
    Copy the full SHA
    f7b4877 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0b56ab0 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2018

  1. fix mispositioned span

    gaurikholkar committed Jan 13, 2018
    Configuration menu
    Copy the full SHA
    4cedbfc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eb1ada2 View commit details
    Browse the repository at this point in the history
  3. add ui test

    gaurikholkar committed Jan 13, 2018
    Configuration menu
    Copy the full SHA
    3c8c505 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2018

  1. Add a default directory for -Zmir-dump-dir

    The current behaviour of dumping in the current directory is rarely
    desirable: a sensible default directory for dumping is much more
    convenient.
    varkor committed Jan 14, 2018
    Configuration menu
    Copy the full SHA
    a22e716 View commit details
    Browse the repository at this point in the history
  2. Make dump_mir_dir non-optional

    varkor committed Jan 14, 2018
    Configuration menu
    Copy the full SHA
    2ccc82e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2bd0e1 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2018

  1. Fix test

    varkor committed Jan 15, 2018
    Configuration menu
    Copy the full SHA
    394b95f View commit details
    Browse the repository at this point in the history
  2. Don't include bang in macro replacement suggestion

    When we suggest the replacement for a macro we include the "!" in the
    suggested replacement but the span only contains the name of the macro
    itself. Using that replacement would cause a duplicate "!" in the
    resulting code.
    
    I originally tried to extend the span to be replaced by 1 byte in
    rust-lang#47424. However, @zackmdavis pointed out that there can be
    whitespace between the macro name and the bang.
    
    Instead, just remove the bang from the suggested replacement.
    
    Fixes rust-lang#47418
    etaoins committed Jan 15, 2018
    Configuration menu
    Copy the full SHA
    ecd47a9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f9e1b9c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c698496 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    90fcd44 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e168aa3 View commit details
    Browse the repository at this point in the history
  7. remove noop landing pads in cleanup shims

    These are already removed in the normal optimization pipeline - so this
    should slightly improve codegen performance, as these cleanup blocks are
    known to hurt LLVM.
    
    This un-regresses and is therefore a fix for rust-lang#47442. However, the
    reporter of that issue should try using `-C panic=abort` instead of
    carefully avoiding panics.
    arielb1 committed Jan 15, 2018
    Configuration menu
    Copy the full SHA
    dc44d41 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2018

  1. Configuration menu
    Copy the full SHA
    bfde33f View commit details
    Browse the repository at this point in the history
  2. Point at unused arguments for format string

    Avoid overlapping spans by only pointing at the arguments that are not
    being used in the argument string. Enable libsyntax to have diagnostics
    with multiple primary spans by accepting `Into<MultiSpan>` instead of
    `Span`.
    estebank committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    a4660df View commit details
    Browse the repository at this point in the history
  3. in which the private no-mangle lints receive a valued lesson in humility

    The incompetent fool who added these suggestions in 38e5a96 apparently
    thought it was safe to assume that, because the offending function or
    static was unreachable, it would therefore have not have any existing
    visibility modifiers, making it safe for us to unconditionally suggest
    inserting `pub`. This isn't true.
    
    This resolves rust-lang#47383.
    zackmdavis committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    661e033 View commit details
    Browse the repository at this point in the history
  4. implement "only-<platforms>" for test headers

    This patch implements "only-<platforms>" for tests headers using which one can
    specify just the platforms on which the test should run rather than listing all
    the platforms to ignore using "ignore-<platforms>".
    
    This is a fix for issues rust-lang#33581 and rust-lang#47459.
    Pulkit07 committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    fd075c6 View commit details
    Browse the repository at this point in the history
  5. return the boolean value directly instead of using if-else

    Previous patch introduced something like if x {true} else {false} which can be
    simply replaced by returning x here.
    
    Thanks to @kennytm for spotting it.
    Pulkit07 committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    1e436eb View commit details
    Browse the repository at this point in the history
  6. rename parse_cfg_prefix() to has_cfg_prefix()

    The function parse_cfg_prefix() is not really parsing. It's just checking
    whether the prefix is present or not. So the new function name as suggested by
    @Mark-Simulacrum is better.
    Pulkit07 committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    567b07c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bd70f0f View commit details
    Browse the repository at this point in the history
  8. Add a Docker container for doing automated builds for CloudABI.

    Setting up a cross compilation toolchain for CloudABI is relatively
    easy. It's just a matter of installing a somewhat recent version of
    Clang (5.0 preferred) and installing the corresponding
    ${target}-cxx-runtime package, containing a set of core C/C++ libraries
    (libc, libc++, libunwind, etc).
    
    Eventually it would be nice if we could also run 'x.py test'. That,
    however still requires some more work. Both libtest and compiletest
    would need to be adjusted to deal with CloudABI's requirement of having
    all of an application's dependencies injected. Let's settle for just
    doing 'x.py dist' for now.
    EdSchouten committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    24c3a6d View commit details
    Browse the repository at this point in the history
  9. Move dist-cloudabi/ into disabled/.

    There is not enough capacity to do automated builds for CloudABI at this
    time.
    EdSchouten committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    5801f95 View commit details
    Browse the repository at this point in the history
  10. Remove incorrect Default::default links, add a new one

    `map_or` and `map_or_else` don't use `Default::default`, but `unwrap_or_default` does.
    goffrie authored Jan 16, 2018
    Configuration menu
    Copy the full SHA
    46c20c0 View commit details
    Browse the repository at this point in the history
  11. Make non-found module name optional

    No longer uses a magic string for missing or root module.
    dominikWin committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    1dcfd14 View commit details
    Browse the repository at this point in the history
  12. fix tidy checks

    gaurikholkar committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    d769539 View commit details
    Browse the repository at this point in the history
  13. using tabs in ui tests

    gaurikholkar committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    a4e3f36 View commit details
    Browse the repository at this point in the history
  14. fix minor errors

    gaurikholkar committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    efe3d69 View commit details
    Browse the repository at this point in the history
  15. Integrate dist-cloudabi into dist-various-2.

    As discussed in rust-lang#47427, let's not have a separate container for doing
    CloudABI builds. It's a lot faster if we integrate it into an existing
    container, so there's less duplication of what's being built.
    
    Upgrade the existing container to Ubuntu 17.10, which is required for
    CloudABI builds. The version of Clang shipped with 16.04 is not recent
    enough to support CloudABI properly.
    EdSchouten committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    ae4288f View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    f81c2de View commit details
    Browse the repository at this point in the history
  17. Only enable CloudABI builds for x86-64 for now.

    We'll turn on other architectures if it turns out we have enough
    capacity.
    EdSchouten committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    dcf0cd0 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    1606341 View commit details
    Browse the repository at this point in the history
  19. rustc: Spawn cmd /c for .bat scripts

    This fixes an accidental regression rust-lang#46335 where the behavior of
    `Path::ends_with` is different from `str::ends_with` (paths operate over
    components, strs operate over chars).
    alexcrichton committed Jan 16, 2018
    Configuration menu
    Copy the full SHA
    6defae3 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2018

  1. Update rust-installer for streaming parallelism

    Pull in rust-lang/rust-installer#76 to get streamed tarball generation,
    rather than batching it all in memory, while still getting the benefit
    of compressing in parallel.
    cuviper committed Jan 17, 2018
    Configuration menu
    Copy the full SHA
    2c5542f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eb3da09 View commit details
    Browse the repository at this point in the history
  3. whitelist x86 fxsr feature

    gnzlbg committed Jan 17, 2018
    Configuration menu
    Copy the full SHA
    86d6301 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#47302 - andjo403:commentfix, r=michaelwoeri…

    …ster
    
    fix faulty comment
    
    after rust-lang#43506 there is no fixed number of request sent.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    283ee54 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#47333 - arthurprs:iter-position-bounds-chec…

    …k, r=dtolnay
    
    Optimize slice.{r}position result bounds check
    
    Second attempt of rust-lang#45501
    Fixes rust-lang#45964
    
    Demo: https://godbolt.org/g/N4mBHp
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    175dd84 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#47387 - Rantanen:linkchecker-error-msg, r=s…

    …teveklabnik
    
    Report errors instead of panic!() when linkcheck encounters absolute paths
    
    The RBE contained some absolute links that failed the link check in rust-lang#46196. Diagnosing these issues was needlessly complicated, thanks to the linkchecker just panicing instead of reporting proper errors.
    
    This PR replaces the panic with a proper `*errors = true` + error message handling.
    
    The linkchecker itself doesn't have any tests so I intentionally didn't touch anything else than the code that previously did the `panic!()`. A small code quality improvement might be made by binding the `Path::new(base).join(url)` into a variable before the for-loop and using this resolved url in both the for loop and the error message.
    
    r? @steveklabnik
    
    (If not for any other reason than having r on the rust-lang#46196.)
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    29c2aa7 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#47404 - integer32llc:reexport-to-re-export,…

    … r=steveklabnik
    
    Standardize on "re-export" rather than "reexport"
    
    While working on the book with our editors, it was brought to our attention that we're not consistent with when we use "re-export" versus "reexport". For the book, we've decided (with our editors) to go with "re-export"; in prose, I think that looks better. In code, I'm fine with "reexport".
    
    However, the rustdoc generated section is currently "Reexports", so when we have a screenshot of generated documentation with the prose where we use "re-export", it's inconsistent.
    
    It's too late to fix this for the book because we're using 1.21.0 for the output in the book, and it's really only one spot so it's not a huge deal, but I'd like to advocate for changing the documentation header so that a future edition of the book can be consistent.
    
    The first commit here only changes the documentation section heading text and rustdoc documentation that references it. This is the commit that's most important to me.
    
    The second commit changes error messages and associated tests to also be consistent with the use of re-export. This is the next most important commit to me, but I could be argued out of this one because then it won't match code like the `macro_reexports` feature name, which ostensibly should change to `macro_re_exports` to be most consistent but I didn't want to change code.
    
    The last commit changes re-export anywhere else in prose: either in documentation comments or regular comments. This is least important as most of them aren't user-visible. Instances like these will likely sneak back in over time. I'm totally fine dropping this commit if anyone wants, but [the hobgoblins made me do it](http://www.bartleby.com/100/420.47.html) and it sets a good example.
    
    r? @steveklabnik
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    e7087f0 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#47407 - gaurikholkar:master, r=estebank

    fix mispositioned span
    
    This fixes rust-lang#47377
    
    The output now looks like this
    ```
    error[E0369]: binary operation `+` cannot be applied to type `&str`
     --> h.rs:3:11
      |
    3 |     let _a = b + ", World!";
      |              ^^^^^^^^^^^^^^ `+` can't be used to concatenate two `&str` strings
    help: `to_owned()` can be used to create an owned `String` from a string reference. String concatenation appends the string on the right to the string on the left and may require reallocation. This requires ownership of the string on the left
      |
    3 |     let _a = b.to_owned() + ", World!";
      |              ^^^^^^^^^
    
    error: aborting due to previous error
    ```
    For the case when emojis are involved,  it gives the new output for proper indentation.
    But for an indentation as follows,
    ```
    fn main() {
    let b = "hello";
        let _a = b + ", World!";
    }
    ```
    it still mispositions the span
    ```
    3 |     println!("🦀🦀🦀🦀🦀"); let _a = b + ", World!";
      |                                           ^^^^^^^^^^^^^^ `+` can't be used to concatenate two `&str` strings
      |
    3 |     println!("🦀🦀🦀🦀🦀"); let _a = b.to_owned() + ", World!";
      |                                           ^^^^^^^
    error: aborting due to previous erro
    ```
    
    cc @estebank  @est31
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    bd8aa02 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#47426 - varkor:default-mir-dump-dir, r=niko…

    …matsakis
    
    Add a default directory for -Zmir-dump-dir
    
    The current behaviour of dumping in the current directory is rarely
    desirable: a sensible default directory for dumping is much more
    convenient. This makes sets the default value for `-Zmir-dump-dir`
    to `mir_dump/`.
    
    r? @eddyb
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    01749e1 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#47427 - EdSchouten:cloudabi-ci, r=alexcrichton

    Add a Docker container for doing automated builds for CloudABI.
    
    Setting up a cross compilation toolchain for CloudABI is relatively
    easy. It's just a matter of installing a somewhat recent version of
    Clang (5.0 preferred) and installing the corresponding
    `${target}-cxx-runtime` package, containing a set of core C/C++ libraries
    (libc, libc++, libunwind, etc).
    
    Eventually it would be nice if we could also run `x.py test`. That,
    however still requires some more work. Both libtest and compiletest
    would need to be adjusted to deal with CloudABI's requirement of having
    all of an application's dependencies injected. Let's settle for just
    doing `x.py dist` for now.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    7e70993 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#47436 - GuillaumeGomez:up-html-diff, r=Quie…

    …tMisdreavus
    
    Update html-diff crate => fix unicode parsing and invalid paths
    
    r? @QuietMisdreavus
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    233f291 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#47444 - etaoins:dont-include-bang-in-macro-…

    …suggestion, r=estebank
    
    Don't include bang in macro replacement suggestion
    
    When we suggest the replacement for a macro we include the "!" in the suggested replacement but the span only contains the name of the macro itself. Using that replacement would cause a duplicate "!" in the resulting code.
    
    I originally tried to extend the span to be replaced by 1 byte in rust-lang#47424. However, @zackmdavis pointed out that there can be whitespace between the macro name and the bang.
    
    Instead, just remove the bang from the suggested replacement.
    
    Fixes rust-lang#47418
    
    r? @estebank
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    4cb8789 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    1bf513e View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#47458 - mark-i-m:lint_array_comma, r=estebank

    Allow a trailing comma in lint_array
    
    fix rust-lang#47428
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    4b636d0 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#47467 - arielb1:cleanup-shims, r=eddyb

    remove noop landing pads in cleanup shims
    
    No-op landing pads are already removed in the normal optimization pipeline - so also removing them on the shim pipeline should slightly improve codegen performance, as these cleanup blocks are known to hurt LLVM.
    
    This un-regresses and is therefore a fix for rust-lang#47442. However, the reporter of that issue should try using `-C panic=abort` instead of carefully avoiding panics.
    
    r? @eddyb
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    be916ce View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#47479 - zackmdavis:and_the_case_of_the_sugg…

    …ested_double-pub, r=estebank
    
    private no-mangle lints: only suggest `pub` if it doesn't already exist
    
    Fixes rust-lang#47383 (function or static can be `pub` but unreachable because it's in a private module; adding another `pub` is nonsensical).
    
    r? @estebank
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    b2c5484 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#47481 - estebank:unused-args, r=arielb1

    Point at unused arguments for format string
    
    Avoid overlapping spans by only pointing at the arguments that are not
    being used in the argument string. Enable libsyntax to have diagnostics
    with multiple primary spans by accepting `Into<MultiSpan>` instead of
    `Span`.
    
    Partially addresses rust-lang#41850.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    35bf7f8 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#47483 - segevfiner:mingw64-build-hack, r=al…

    …excrichton
    
    Add "-lmsvcrt" twice to get rustc to build with the latest mingw64
    
    After updating mingw-w64 in Msys2, I started getting this when doing `./x.py build --stage 1 src/libtest`:
    ```
    error: linking with `gcc` failed: exit code: 1
      |
      = note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nxcompat" "-nostdlib" "-m64" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\crt2.o" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps\\rustc-b67a4fe646fd8794.rustc0-833528dbd46ff06c3b1f5154abdef2ed.rs.rcgu.o" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps\\rustc-b67a4fe646fd8794.rustc1-833528dbd46ff06c3b1f5154abdef2ed.rs.rcgu.o" "-o" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps\\rustc-b67a4fe646fd8794.exe" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps\\rustc-b67a4fe646fd8794.crate.allocator.rcgu.o" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\release\\deps" "-L" "...\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\dbghelp-sys-0.2.0/x86_64" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\build\\miniz-sys-98d83a845f69b3ab\\out" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\build\\rustc_binaryen-f106436b515711ff\\out/build/lib" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\build\\rustc_binaryen-f106436b515711ff\\out" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\build\\rustc_llvm-9a040fa1f1937a67\\out" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\llvm/lib" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_driver-224d9efe142c632e" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_trans-767a58ff60ff6a03" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_resolve-bcc2d91b756552d1" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_incremental-e93e816231352cc9" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_plugin-8273bd6d564e8657" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_metadata-5537b9a8ab6e6015" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_lint-796681662b9ad8e1" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_passes-9ef6de765e132a7c" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_privacy-2289da126d06c49e" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_llvm-893cdac51017c26f" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_borrowck-ac2009fc1ce58d88" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_mir-d4ce85a1cded4423" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_const_eval-a4e766ec47afde96" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_save_analysis-66d4c41e75392976" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_typeck-4e21db5573af1446" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_platform_intrinsics-f40c4b99b60d15e9" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_allocator-86ef12c8efbcf068" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_trans_utils-8199c3d0e673bb7b" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc-8f435ca07f1a04ff" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-l" "test-8abb197945b79a6a" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_const_math-fa724350247d1ae6" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_back-838b735c189dd798" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "graphviz-42c69c0ff2aacc5b" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "arena-454325a3f2773bc8" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "syntax_ext-7880c41067f1be05" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "proc_macro-f609718c6b927026" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "syntax-3d2aaf6e201abcfe" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_errors-2c007ffe6a847ed7" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "syntax_pos-067e758dda669d03" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_data_structures-50e5e6db2f34c196" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-l" "term-9d9f4c10ffba6dd6" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "serialize-e55b4fb27a4d08bf" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "rustc_cratesio_shim-baed94e463835a87" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-rustc\\x86_64-pc-windows-gnu\\release\\deps" "-l" "fmt_macros-3c2cdca7d2f8dd09" "-L" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-l" "std-b1b09a5d7798628b" "-Wl,-Bstatic" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-69f85297d9318c97.rlib" "-Wl,-Bdynamic" "-l" "advapi32" "-l" "ole32" "-l" "oleaut32" "-l" "psapi" "-l" "shell32" "-l" "ole32" "-l" "uuid" "-l" "stdc++" "-l" "gcc_eh" "-l" "pthread" "-l" "psapi" "-l" "dbghelp" "-l" "kernel32" "-l" "advapi32" "-l" "kernel32" "-l" "advapi32" "-l" "ws2_32" "-l" "userenv" "-l" "shell32" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0-sysroot\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
      = note: rust/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libmsvcrt.a(lib64_libmsvcrt_os_a-__p__fmode.o):__p__fmode.c:(.rdata$.refptr.__imp__fmode[.refptr.__imp__fmode]+0x0): undefined reference to `__imp__fmode'
              collect2.exe: error: ld returned 1 exit status
    
    error: aborting due to previous error
    
    error: Could not compile `rustc-main`.
    
    Caused by:
      process didn't exit successfully: `rust\msys64\home\...\rust\build\bootstrap/debug/rustc --crate-name rustc rustc\rustc.rs --error-format json --crate-type bin --emit=dep-info,link -C opt-level=2 --cfg feature="jemalloc" --cfg feature="llvm" --cfg feature="rustc_back" --cfg feature="rustc_driver" -C metadata=b67a4fe646fd8794 -C extra-filename=-b67a4fe646fd8794 --out-dir rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\deps --target x86_64-pc-windows-gnu -L dependency=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\deps -L dependency=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\release\deps --extern rustc_back=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\deps\rustc_back-838b735c189dd798.dll --extern rustc_driver=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\deps\rustc_driver-224d9efe142c632e.dll -L native=...\.cargo\registry\src\github.com-1ecc6299db9ec823\dbghelp-sys-0.2.0/x86_64 -L native=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\build\miniz-sys-98d83a845f69b3ab\out -L native=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\build\rustc_binaryen-f106436b515711ff\out/build/lib -L native=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\build\rustc_binaryen-f106436b515711ff\out -L native=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\stage0-rustc\x86_64-pc-windows-gnu\release\build\rustc_llvm-9a040fa1f1937a67\out -L native=rust\msys64\home\...\rust\build\x86_64-pc-windows-gnu\llvm/lib` (exit code: 101)
    thread 'main' panicked at 'command did not execute successfully: "rust\\msys64\\home\\...\\rust\\build\\x86_64-pc-windows-gnu\\stage0/bin\\cargo.exe" "build" "--target" "x86_64-pc-windows-gnu" "-j" "4" "--release" "--features" " jemalloc llvm" "--manifest-path" "rust/msys64/home/.../rust\\src/rustc/Cargo.toml" "--message-format" "json"
    expected success, got: exit code: 101', bootstrap\compile.rs:886:9
    note: Run with `RUST_BACKTRACE=1` for a backtrace.
    failed to run: rust/msys64/home/.../rust/build/bootstrap/debug/bootstrap build --stage 1 src/libtest
    Build completed unsuccessfully in 0:00:25
    ```
    
    The code that uses `__p__fmode` was added in mirror/mingw-w64@2e64b9e, apparently in x86_64, it uses its own implementation of it. libmsvcrt.a is kind of a weird beast, it's both an import library for the system msvcrt.dll, but it also is a library that includes compiled code.
    
    For some reason it fails to find the reference for the import symbol that is found in the very same archive as the function that uses it. I don't know what in the Rust code base triggers this. i.e. Create an MWE that can show why this PR is required.
    
    This probably *shouldn't be merged* without understanding why this is necessary or not.
    
    To successfully bootstrap rustc and show that this does make the build work (On latest mingw-w64 x86_64 on Msys2):
    ```sh
    $ RUSTFLAGS="-C link-arg=-lmsvcrt" ./x.py build --stage 1 src/libtest
    $ ./x.py build --keep-stage 1 --stage 2 src/libtest # Should work with the patch, and fail without it
    ```
    
    Issue rust-lang#47265
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    3501095 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#47487 - Pulkit07:foo, r=kennytm

    implement "only-<platforms>" for test headers
    
    This patch implements "only-<platforms>" for tests headers using which one can
    specify just the platforms on which the test should run rather than listing all
    the platforms to ignore using "ignore-<platforms>".
    
    This fixes rust-lang#33581 and fixes rust-lang#47459.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    5e1f442 View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#47497 - goffrie:patch-1, r=dtolnay

    Remove incorrect `Default::default` links, add a new one
    
    `map_or` and `map_or_else` don't use `Default::default`, but `unwrap_or_default` does.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    a588dcf View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#47498 - dominikWin:missing-module-name, r=p…

    …etrochenkov
    
    Make non-found module name optional
    
    No longer uses a magic string for missing or root module.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    fb1f01d View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#47505 - alexcrichton:fix-bat-spawn-regressi…

    …on, r=estebank
    
    rustc: Spawn `cmd /c` for `.bat` scripts
    
    This fixes an accidental regression rust-lang#46335 where the behavior of
    `Path::ends_with` is different from `str::ends_with` (paths operate over
    components, strs operate over chars).
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    54299e2 View commit details
    Browse the repository at this point in the history
  23. Rollup merge of rust-lang#47509 - cuviper:rayon-rust-installer, r=Mar…

    …k-Simulacrum
    
    Update rust-installer for streaming parallelism
    
    Pull in rust-lang/rust-installer#76 to get streamed tarball generation,
    rather than batching it all in memory, while still getting the benefit
    of compressing in parallel.
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    8b22802 View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#47514 - gnzlbg:whitelist_x86_fxsr, r=rkruppe

    whitelist x86 fxsr feature
    
    rust-lang#47223 properly checks that only white-listed features are allowed in combination with `target_feature`, but the `fxsr` feature used by `stdsimd` was not white-listed.
    
    r? @alexcrichton
    kennytm authored Jan 17, 2018
    Configuration menu
    Copy the full SHA
    5fade39 View commit details
    Browse the repository at this point in the history