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 10 pull requests #68474

Merged
merged 27 commits into from
Jan 23, 2020
Merged

Rollup of 10 pull requests #68474

merged 27 commits into from
Jan 23, 2020

Commits on Jan 15, 2020

  1. add bare metal ARM Cortex-A targets to rustc

    -> `rustc --target armv7-none-eabi` will work
    
    also build rust-std (rustup) components for them
    
    -> `rustup target add armv7-none-eabi` will work
    japaric committed Jan 15, 2020
    Configuration menu
    Copy the full SHA
    470cdf5 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2020

  1. Add -Wl,-znotext to default linker flags to link with lld 9 on FreeBS…

    …D 13.0-CURRENT i386
    
    rust-nightly has been failing to link since 2019-12-10 with variations of
    ```
     = note: ld: error: relocation R_386_PC32 cannot be used against symbol __rust_probestack; recompile with -fPIC
              >>> defined in /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libcompiler_builtins-6570a75fe85f0e1a.rlib(compiler_builtins-6570a75fe85f0e1a.compiler_builtins.2i519eqi-cgu.15.rcgu.o)
              >>> referenced by std.4xivr03c-cgu.14
              >>>               std-9bd70afd58e204b7.std.4xivr03c-cgu.14.rcgu.o:(_$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1c78ed6e734a2bfc (.llvm.10122419023709863394)) in archive /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libstd-9bd70afd58e204b7.rlib
    
              ld: error: relocation R_386_PC32 cannot be used against symbol __rust_probestack; recompile with -fPIC
              >>> defined in /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libcompiler_builtins-6570a75fe85f0e1a.rlib(compiler_builtins-6570a75fe85f0e1a.compiler_builtins.2i519eqi-cgu.15.rcgu.o)
              >>> referenced by std.4xivr03c-cgu.14
              >>>               std-9bd70afd58e204b7.std.4xivr03c-cgu.14.rcgu.o:(std::io::util::copy::h9115f048f2203467) in archive /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libstd-9bd70afd58e204b7.rlib
              clang-cpp: error: linker command failed with exit code 1 (use -v to see invocation)
    
    error: aborting due to previous error
    
    error: could not compile `rustc_macros`.
    ```
    Full log: http://beefy17.nyi.freebsd.org/data/head-i386-default/p523508_s356869/logs/rust-nightly-1.42.0.20200118.log
    
    AFAICT it stopped building after bumping compiler_builtins to 0.1.22
    in rust-lang#67110.
    Tobias Kortkamp committed Jan 19, 2020
    Configuration menu
    Copy the full SHA
    de38803 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2020

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

Commits on Jan 21, 2020

  1. Configuration menu
    Copy the full SHA
    d8c661a View commit details
    Browse the repository at this point in the history
  2. Make TooGeneric error in WF checking a proper error

    `TooGeneric` is encountered during WF checking when we cannot determine that a constant involving a generic parameter will always be evaluated successfully (rather than resulting in an error). In these cases, the burden of proof should be with the caller, so that we can avoid post-monomorphisation tim errors (which was the previous previous behaviour). This commit ensures that this situation produces a proper compiler error, rather than silently ignoring it or ICEing.
    varkor committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    dd0507c View commit details
    Browse the repository at this point in the history
  3. for now, do not build rust-std for the armv7a-none-eabihf target

    it needs some upstream changes in the build script of the compiler-builtins
    crate
    japaric committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    8abbd0b View commit details
    Browse the repository at this point in the history
  4. Handle methods in try diagnostic

    The diagnostic for diagnostic for methods and trait provided
    methods would only show the empty string:
    
        error[E0277]: the `?` operator can only be used in  that returns `Result` or `Option` (or another type that implements `std::ops::Try`)
    
    Handle the missing cases so it reads ``a method'' / ``an async
    method'' / ``a trait method'' respectively.
    
    Signed-off-by: Philipp Gesang <[email protected]>
    phi-gamma committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    5dee7dd View commit details
    Browse the repository at this point in the history
  5. Test try diagnostics for impl and trait methods

    Signed-off-by: Philipp Gesang <[email protected]>
    phi-gamma committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    02e66ba View commit details
    Browse the repository at this point in the history
  6. Cleanup: rewrite conditional as match

    As suggested by @Centril.
    
    Signed-off-by: Philipp Gesang <[email protected]>
    phi-gamma committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    db3b40c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d1bb7e1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8c6067c View commit details
    Browse the repository at this point in the history
  9. Do not base path to append extension

    We already have ownership of the base path, so no need to clone it (within
    Path::with_extension).
    Mark-Simulacrum authored and sinkuu committed Jan 21, 2020
    Configuration menu
    Copy the full SHA
    dc97181 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2020

  1. bootstrap: update clippy subcmd decription

    Clarify where the clippy used in `./x.py clippy` is coming from.
    It uses whatever clippy binary was installed via rustup, cargo-install
    or otherwise and does NOT use the binary generated by `./x.py build src/tools/clippy`.
    matthiaskrgr committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    eb2da27 View commit details
    Browse the repository at this point in the history
  2. pprust: use as_deref

    Centril committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    7962ccb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    71370c8 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2020

  1. Add -Z no-link flag

    Adds a compiler option to allow rustc compile a crate without linking.
    With this flag, rustc serializes codegen_results into a .rlink file.
    Victor Ding committed Jan 23, 2020
    Configuration menu
    Copy the full SHA
    6a6ebb4 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#67195 - 0dvictor:nolink, r=tmandry

    [experiment] Add `-Z no-link` flag
    
    Adds a compiler option to allow rustc compile a crate without linking.
    With this flag, `rustc` serializes codegen_results into a `.rlink` file.
    
    Part of Issue rust-lang#64191
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    0c3827b View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#68253 - japaric:bare-metal-cortex-a, r=alex…

    …crichton
    
    add bare metal ARM Cortex-A targets to rustc
    
    -> `rustc --target armv7a-none-eabi` will work
    
    also build rust-std (rustup) components for them
    
    -> `rustup target add armv7a-none-eabi` will work
    
    this completes our bare-metal support of ARMv7 cores on stable Rust (by 1.42 or 1.43)
    
    (these target specifications have been tested on a real (no emulation / QEMU) [Cortex-A7 core](https://github.com/iqlusioninc/usbarmory.rs/))
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    9246b30 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#68361 - t6:patch-freebsd-lld-i386, r=alexcr…

    …ichton
    
    Unbreak linking with lld 9 on FreeBSD 13.0-CURRENT i386
    
    Add -Wl,-znotext to default linker flags to link with lld 9 on FreeBSD 13.0-CURRENT i386 where rust-nightly has been failing to link since 2019-12-10 with variations of
    ```
     = note: ld: error: relocation R_386_PC32 cannot be used against symbol __rust_probestack; recompile with -fPIC
              >>> defined in /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libcompiler_builtins-6570a75fe85f0e1a.rlib(compiler_builtins-6570a75fe85f0e1a.compiler_builtins.2i519eqi-cgu.15.rcgu.o)
              >>> referenced by std.4xivr03c-cgu.14
              >>>               std-9bd70afd58e204b7.std.4xivr03c-cgu.14.rcgu.o:(_$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1c78ed6e734a2bfc (.llvm.10122419023709863394)) in archive /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libstd-9bd70afd58e204b7.rlib
    
              ld: error: relocation R_386_PC32 cannot be used against symbol __rust_probestack; recompile with -fPIC
              >>> defined in /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libcompiler_builtins-6570a75fe85f0e1a.rlib(compiler_builtins-6570a75fe85f0e1a.compiler_builtins.2i519eqi-cgu.15.rcgu.o)
              >>> referenced by std.4xivr03c-cgu.14
              >>>               std-9bd70afd58e204b7.std.4xivr03c-cgu.14.rcgu.o:(std::io::util::copy::h9115f048f2203467) in archive /wrkdirs/usr/ports/lang/rust-nightly/work/rustc-nightly-src/build/i686-unknown-freebsd/stage1/lib/rustlib/i686-unknown-freebsd/lib/libstd-9bd70afd58e204b7.rlib
              clang-cpp: error: linker command failed with exit code 1 (use -v to see invocation)
    
    error: aborting due to previous error
    
    error: could not compile `rustc_macros`.
    ```
    Full log: http://beefy17.nyi.freebsd.org/data/head-i386-default/p523508_s356869/logs/rust-nightly-1.42.0.20200118.log
    
    AFAICT it stopped building after bumping compiler_builtins to 0.1.22 in rust-lang#67110.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    51e4424 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#68388 - varkor:toogeneric-wf, r=eddyb

    Make `TooGeneric` error in WF checking a proper error
    
    `TooGeneric` is encountered during WF checking when we cannot determine that a constant involving a generic parameter will always be evaluated successfully (rather than resulting in an error). In these cases, the burden of proof should be with the caller, so that we can avoid post-monomorphisation tim errors (which was the previous previous behaviour). This commit ensures that this situation produces a proper compiler error, rather than silently ignoring it or ICEing.
    
    Fixes rust-lang#66962.
    
    r? @eddyb
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    bd090c9 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#68409 - sinkuu:temp_path, r=Mark-Simulacrum

    Micro-optimize OutputFilenames
    
    For example, its methods consume 6% of time during debug-compiling a `warp` example:
    ![Screenshot (debug-compiling a `warp` example)](https://user-images.githubusercontent.com/7091080/72780288-d74f1580-3c61-11ea-953b-34e59ca682f9.png)
    
    This PR optimize them a bit by using `PathBuf::set_extension` instead of `Path::with_extension`, to avoid cloning `PathBuf` excessively.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    f9b0561 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#68410 - tmiasko:msan-lto, r=varkor

    Export weak symbols used by MemorySanitizer
    
    Export weak symbols defined by MemorySanitizer instrumentation, which are used
    to implement `-Zsanitizer-memory-track-origins` and `-Zsanitizer-recover=memory`.
    Previously, when using fat LTO, they would internalized and eliminated.
    
    Fixes rust-lang#68367.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    97ac259 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#68425 - phi-gamma:try-method, r=varkor

    Fix try-op diagnostic in E0277 for methods
    
    For methods the try-op diagnostic displays the empty string where
    it has more descriptive strings like “a function” otherwise:
    
        error[E0277]: the `?` operator can only be used in  that returns `Result` or `Option` (or another type that implements `std::ops::Try`)
                                                          ^^
           | |             ^^ cannot use the `?` operator in  that returns `()`
                                                            ^^
    
    I’m seeing this on nightly (rustc 1.42.0-nightly (b5a3341
    2020-01-20)) and [on the playpen](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=0e7ce7792c2aceb8056941710d539124).
    
    The changeset add strings for impl methods and trait provided
    methods and test cases for the option type.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    1077ada View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#68440 - matthiaskrgr:xpyclippy, r=Mark-Simu…

    …lacrum
    
    bootstrap: update clippy subcmd decription
    
    Clarify where the clippy used in `./x.py clippy` is coming from.
    It uses whatever clippy binary was installed via rustup, cargo-install
    or otherwise and does NOT use the binary generated by `./x.py build src/tools/clippy`.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    ac3e183 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#68441 - Centril:pprust-as_deref, r=Mark-Sim…

    …ulacrum
    
    pprust: use as_deref
    
    Some drive-by cleanup.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    14e6259 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#68462 - matthiaskrgr:novec, r=varkor

    librustc_mir: don't allocate vectors where slices will do.
    tmandry authored Jan 23, 2020
    Configuration menu
    Copy the full SHA
    bfac73c View commit details
    Browse the repository at this point in the history