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 #61783

Closed
wants to merge 22 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Jun 12, 2019

Successful merges:

Failed merges:

r? @ghost

kennytm and others added 22 commits May 31, 2019 20:02
This ensures we won't accidentally read *src or *dest even when count = 0.
Co-Authored-By: Jack O'Connor <oconnor663@gmail.com>
Make sure we look for save analysis in the right place. Fixes rust-lang#61703.
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
The condition I suggested in rust-lang#61632 was not correct and it errors out
while evaluating. This fixes the condition.

Example of a failure:
https://dev.azure.com/rust-lang/rust/_build/results?buildId=543
Once::new() has been a stable const fn for a while now.

Closes rust-lang#61746
Hygienize macros in the standard library

Same as rust-lang#55597, but for all macros in the standard library.
Nested macro calls will now call what they are intended to call rather than whatever is in the closest scope at call site.
Technically this is a breaking change, so crater run would probably be useful.

---

One exception that is not hygienized is calls to `panic!(...)`.
Macros defined in libcore do not want to call `core::panic`.
What they really want to call is either `std::panic` or `core::panic` depending on `no_std` settings.
EDIT: After some thought, recursive calls to `panic` from `panic` itself probably do want to use `$crate` (UPDATE: done).

Calling `std::panic` from macros defined in std and "whatever `panic` is in scope" from macros defined in libcore is probably even worse than always calling "whatever `panic` is in scope", so I kept the existing code.

The only way to do the std/core switch correctly that I'm aware of is to define a built-in panic macro that would dispatch to `std::panic` or `core::panic` using compiler magic.
Then standard library macros could delegate to this built-in macro.
The macro could be named `panic` too, that would fix rust-lang#61567.
(This PR doesn't do that.)

---
cc rust-lang#56389
cc rust-lang#61567
Fixes rust-lang#61699
r? @alexcrichton
Include frame pointer for bare metal RISC-V targets

This changes the default setting to enable the use of the frame pointer register when targeting RISC-V. On that architecture there is a dedicated frame pointer register which LLVM would otherwise never use so there is no increase in register pressure. Further, since these are bare metal targets, getting backtraces without the frame pointer is considerably more difficult (you can't just ask the OS to load the ELF executable and parse DWARF symbols). It is true that this setting can also be changed with the `-C force-frame-pointers` flag but that won't impact the compilation of the standard library, meaning that backtraces from, say, a panic handler would be useless.
Fix x.py install

Make sure we look for save analysis in the right place. Fixes rust-lang#61703.

r? @Mark-Simulacrum
cc @petrhosek @cramertj
…xcrichton

Deprecate ONCE_INIT

Once::new() has been a stable const fn for a while now.

Closes rust-lang#61746
…rk-Simulacrum

rustbuild: fix libtest_stamp

Looks like an obvious copy/paste typo
…=alexcrichton

ci: fix ci stats upload condition

The condition I suggested in rust-lang#61632 was not correct and it errors out while evaluating. This fixes the condition. [Example of a failure](https://dev.azure.com/rust-lang/rust/_build/results?buildId=543).

r? @alexcrichton
Update cargo

Update cargo

19 commits in 545f354259be4e9745ea00a524c0e4c51df01aa6..807429e1b6da4e2ec52488ef2f59e77068c31e1f
2019-05-23 17:45:30 +0000 to 2019-06-11 14:06:10 +0000
- Stabilize publish-lockfile. (rust-lang/cargo#7026)
- change package cache lock message (rust-lang/cargo#7029)
- Fix documenting an example. (rust-lang/cargo#7023)
- Fix nonconcurrent tests (rust-lang/cargo#6900)
- Update git2 crates for libgit2 0.28 (rust-lang/cargo#7018)
- fix bunch of clippy warnings (rust-lang/cargo#7019)
- Ignore remap-path-prefix in metadata hash. (rust-lang/cargo#6966)
- Don't synthesize feature diretives for non-optional deps (rust-lang/cargo#7010)
- Handle pipelined tests of libraries (rust-lang/cargo#7008)
- Import the cargo-vendor subcommand into Cargo (rust-lang/cargo#6869)
- Remove unnecessary outlives bounds (rust-lang/cargo#7000)
- Catch filename output collisions in rustdoc. (rust-lang/cargo#6998)
- the testing SAT solver was messed up by a refactor (rust-lang/cargo#6995)
- Add some hints to the docs for `cfg()` targets (rust-lang/cargo#6990)
- Test the Resolver against the varisat Library (rust-lang/cargo#6980)
- Update changelog. (rust-lang/cargo#6984)
- Update cache-messages tracking issue. (rust-lang/cargo#6987)
- zsh: Add --all-targets option to cargo-check and cargo-build (rust-lang/cargo#6985)
- Fix typo (rust-lang/cargo#6982)
…r=Centril

Fix typos in error_codes

`observedin` should be `observed in`.
@Centril
Copy link
Contributor Author

Centril commented Jun 12, 2019

@bors r+ p=10 rollup=never

@bors
Copy link
Contributor

bors commented Jun 12, 2019

📌 Commit 8547e44 has been approved by Centril

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jun 12, 2019
@bors
Copy link
Contributor

bors commented Jun 12, 2019

⌛ Testing commit 8547e44 with merge 716ac2d9972ce37129b45f6b7cf13585727b0575...

@bors
Copy link
Contributor

bors commented Jun 12, 2019

💔 Test failed - checks-travis

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:09:57]   Downloaded utf8parse v0.1.1
[00:09:57]   Downloaded im-rc v13.0.0
[00:09:57]   Downloaded constant_time_eq v0.1.3
[00:09:57]   Downloaded openssl-sys v0.9.43
[00:09:57]   Downloaded varisat-internal-proof v0.2.1
[00:09:57]   Downloaded lsp-codec v0.1.2
[00:09:57]   Downloaded rustc-ap-rustc_target v407.0.0
[00:09:57]   Downloaded curl v0.4.21
[00:09:57]   Downloaded regex v1.1.6
---
[00:09:58]   Downloaded tokio-process v0.2.3
[00:09:58]   Downloaded ucd-util v0.1.3
[00:09:58]   Downloaded quick-error v1.2.2
[00:09:58]   Downloaded vcpkg v0.2.6
[00:09:58]   Downloaded varisat-formula v0.2.1
[00:09:58]   Downloaded precomputed-hash v0.1.1
[00:09:58]   Downloaded syn v0.11.11
[00:09:58]   Downloaded iovec v0.1.2
[00:09:58]   Downloaded bytecount v0.5.1
---
[00:10:01]   Downloaded tokio-codec v0.1.1
[00:10:01]   Downloaded termcolor v1.0.4
[00:10:01]   Downloaded punycode v0.4.0
[00:10:01]   Downloaded percent-encoding v1.0.1
[00:10:01]   Downloaded varisat-checker v0.2.1
[00:10:01]   Downloaded wincolor v1.0.1
[00:10:01]   Downloaded leb128 v0.2.4
[00:10:01]   Downloaded url v1.7.2
[00:10:01]   Downloaded pest v2.1.0
---
[00:10:04]   Downloaded void v1.0.2
[00:10:04]   Downloaded measureme v0.3.0
[00:10:04]   Downloaded regex-syntax v0.5.6
[00:10:04]   Downloaded memmap v0.6.2
[00:10:04]   Downloaded varisat v0.2.1
[00:10:04]   Downloaded itertools v0.7.8
[00:10:04]   Downloaded rustc-rayon v0.2.0
[00:10:04]   Downloaded rusty-fork v0.2.1
[00:10:04]   Downloaded rustc-rayon-core v0.2.0
---
[00:10:05]   Downloaded futf v0.1.4
[00:10:05]   Downloaded fst v0.3.0
[00:10:05]   Downloaded shlex v0.1.1
[00:10:05]   Downloaded hashbrown v0.3.1
[00:10:05]   Downloaded varisat-internal-macros v0.2.1
[00:10:05]   Downloaded log v0.4.6
[00:10:05]   Downloaded varisat-dimacs v0.2.1
[00:10:05]   Downloaded unicode-xid v0.0.4
[00:10:06]   Downloaded annotate-snippets v0.5.0
[00:10:06]   Downloaded tokio-uds v0.2.5
[00:10:06]   Downloaded rls-data v0.19.0
---
[01:29:04]    Compiling cargo v0.38.0 (/checkout/src/tools/cargo)
[01:29:07] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[01:29:07]   --> src/tools/cargo/src/cargo/util/config.rs:13:23
[01:29:07]    |
[01:29:07] 13 | use std::sync::{Once, ONCE_INIT};
[01:29:07]    |
[01:29:07]    = note: #[warn(deprecated)] on by default
[01:29:07] 
[01:29:07] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[01:29:07] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[01:29:07]   --> src/tools/cargo/src/cargo/util/config.rs:92:29
[01:29:07]    |
[01:29:07] 92 |         static INIT: Once = ONCE_INIT;
[01:29:07]    |                             ^^^^^^^^^ help: replace the use of the deprecated item: `Once::new()`
[01:32:12] [RUSTC-TIMING] cargo test:false 188.296
[01:32:35] [RUSTC-TIMING] cargo test:false 22.470
[01:32:35]     Finished release [optimized] target(s) in 11m 18s
[01:32:35] travis_fold:end:stage1-cargo
---
[01:38:56] [RUSTC-TIMING] cargo_fmt test:false 13.227
[01:39:01] [RUSTC-TIMING] git_rustfmt test:false 17.942
[01:39:02] [RUSTC-TIMING] rustfmt test:false 19.601
[01:39:02]     Finished release [optimized] target(s) in 6m 16s
[01:39:02] duplicate artifacts found when compiling a tool, this typically means that something was recompiled because a transitive dependency has different features activated than in a previous build:
[01:39:02] the following dependencies are duplicated although they have the same features enabled:
[01:39:02] the following dependencies are duplicated although they have the same features enabled:
[01:39:02]   failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libfailure-d0d57fac6967d073.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libfailure-f821fd9952a6ac41.rlib")
[01:39:02]   serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libserde-f47b72f50d7afe2f.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libserde-1ebfd4057e123933.rlib")
[01:39:02]   semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libsemver-0b2039d945c03ddc.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libsemver-27ac6b550874d378.rlib")
[01:39:02]   toml 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libtoml-059810112f4c789a.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libtoml-88d9b9fdbf87692d.rlib")
[01:39:02]   rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librand_pcg-ec7bf64835d11f84.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librand_pcg-da05c5272f25ee68.rlib")
[01:39:02]   serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libserde_json-54fa4959b98434c9.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libserde_json-512a8ec035721599.rlib")
[01:39:02]   rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librand_chacha-01457aabebd3f4aa.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librand_chacha-c57a31651222c829.rlib")
[01:39:02]   rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librand-86fee9e8ae8e0ff3.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librand-b97ee5e8426ef05a.rlib")
[01:39:02]   parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libparking_lot_core-467191642a8163ad.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libparking_lot_core-9c9d009c77aea2b0.rlib")
[01:39:02]   parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libparking_lot-3bfd0b3a78b9ca1d.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libparking_lot-f3817df5f2784fd2.rlib")
[01:39:02]   openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libopenssl_sys-c7119caf06519f4d.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libopenssl_sys-b8c4a742138d2e01.rlib")
[01:39:02]   openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libopenssl-0713f3f1b7513cfd.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libopenssl-52ce156f9e4872bf.rlib")
[01:39:02]   curl-sys 0.4.18 (registry+https://github.com/rust-lang/crates.io-index)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libcurl_sys-0b544bdaf2945795.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/libcurl_sys-8e254ee709343ea4.rlib")
[01:39:02]   rustc-workspace-hack 1.0.0 (path+file:///checkout/src/tools/rustc-workspace-hack)
[01:39:02]     `rustfmt` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librustc_workspace_hack-043d03fd773a9d9c.rlib")
[01:39:02]     `cargo` ("/checkout/obj/build/x86_64-unknown-linux-musl/stage1-tools/x86_64-unknown-linux-musl/release/deps/librustc_workspace_hack-11d09635256c95c8.rlib")
[01:39:02] the following dependencies have different features:
[01:39:02] thread 'main' panicked at 'tools should not compile multiple copies of the same crate', src/bootstrap/tool.rs:172:13
[01:39:02] 
[01:39:02] 
[01:39:02] to fix this you will probably want to edit the local src/tools/rustc-workspace-hack/Cargo.toml crate, as that will update the dependency graph to ensure that these crates all share the same feature set

[01:39:03] travis_time:end:stage1-rustfmt:start=1560382764408578506,finish=1560383140691233804,duration=376282655298

[01:39:03] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --build x86_64-unknown-linux-musl
---
travis_time:end:30901000:start=1560383142662687297,finish=1560383142674685876,duration=11998579
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0c0eae04
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:00d3d371
travis_time:start:00d3d371
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:14092b96
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors bors removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jun 12, 2019
@bors bors added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 12, 2019
@Centril Centril closed this Jun 12, 2019
@Centril Centril deleted the rollup-r5u53z7 branch June 12, 2019 23:47
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.