Commit graph

142746 commits

Author SHA1 Message Date
bors
53cb7b09b0 Auto merge of #86390 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
[stable] 1.53.0 release - backport

This hopefully fixes a Clippy ICE on rustc std and the crates.io codebase (and potentially
others).

r? `@Mark-Simulacrum`
2021-06-17 03:53:17 +00:00
Mark Rousskov
8e78f4a03f Backport 572c405da0 to 1.53
This fixes a Clippy ICE on rustc std and the crates.io codebase (and potentially
others).
2021-06-16 22:23:26 -04:00
bors
dbe03e256b Auto merge of #86317 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
[stable] 1.53.0 release

This includes a backport of:

* Revert "implement TrustedRandomAccess for Take iterator adapter" #85975

And includes patches to:

* Update release notes to reflect #85541
* Require RUSTC_FORCE_INCREMENTAL to truly enable incremental, fixing #86004
* This reverts alignment-related commits to address issue #85713 on beta.

r? `@Mark-Simulacrum`
2021-06-15 02:54:51 +00:00
Felix S. Klock II
196e18555b regression test for issue 85713. 2021-06-14 19:49:25 -04:00
Felix S. Klock II
fce2a229f6 Revert "Allow specifying alignment for functions"
This reverts commit 448d07683a to address
issue 85713 on beta.
2021-06-14 19:49:25 -04:00
Mark Rousskov
2c521aed7c Pass RUSTC_FORCE_INCREMENTAL to auxiliary tests
This won't enable incremental if -Cincremental is not already passed, but is
seemingly necessary in the presence of -Zincremental-verify-ich which does not
check for incremental being enabled before accessing incremental data
structures, leading to an ICE.
2021-06-14 19:32:32 -04:00
Mark Rousskov
ff12b110e3 Add link to issue 2021-06-14 19:25:36 -04:00
Aaron Hill
7e4d056874 Show nicer error when an 'unstable fingerprints' error occurs 2021-06-14 19:25:35 -04:00
Mark Rousskov
e96136abc9 Soft disable incremental
This disables incremental (i.e., -Cincremental) taking effect unless an
environment variable, RUSTC_FORCE_INCREMENTAL, is set to 1 in the environment of
the running rustc. Currently incremental causes errors for many users, and we do
not have an expectation of being able to quickly fix these errors in a
backportable way - so, for now, disable incremental entirely. The user can still
opt-in, but this way the majority of users merely get slower builds, not broken
builds.
2021-06-14 19:21:54 -04:00
Mark Rousskov
02d3bca8b6 bump to stable channel 2021-06-14 18:12:45 -04:00
The8472
9dccd968b2 Revert "implement TrustedRandomAccess for Take iterator adapter"
This reverts commit 37a5b515e9.
2021-06-14 18:08:35 -04:00
Mark Rousskov
41fe648b59 Cherry-pick release notes for 1.53 2021-06-14 18:08:35 -04:00
bors
e7a67cc916 Auto merge of #86229 - cjgillot:crate-hash-beta, r=Mark-Simulacrum
Integrate attributes as part of the crate hash

Backport of #83901

r? `@Mark-Simulacrum`
2021-06-12 17:57:30 +00:00
bors
0a0f816fcf Auto merge of #86225 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] backports

* Disable the machine outliner by default #86020
* Fix incorrect gating of nonterminals in key-value attributes #85445
* Build crtbegin.o/crtend.o from source code #85395
* Bring back x86_64-sun-solaris target to rustup #85252
* Preserve SyntaxContext for invalid/dummy spans in crate metadata #85211
* [beta] backport: Remove unsound TrustedRandomAccess implementations #86222

r? `@Mark-Simulacrum`
2021-06-11 22:58:25 +00:00
Camille GILLOT
b561bc520b Hash attributes for crate_hash. 2021-06-11 22:02:11 +02:00
Frank Steffahn
28ea358264 Remove unsound TrustedRandomAccess implementations
Removes the implementations that depend on the user-definable trait `Copy`.

Beta backport: Does not modify `vec::IntoIter`.
2021-06-11 12:13:43 -04:00
Aaron Hill
9529cbd0ba Preserve SyntaxContext for invalid/dummy spans in crate metadata
Fixes #85197

We already preserved the `SyntaxContext` for invalid/dummy spans in the
incremental cache, but we weren't doing the same for crate metadata.
If an invalid (lo/hi from different files) span is written to the
incremental cache, we will decode it with a 'dummy' location, but keep
the original `SyntaxContext`. Since the crate metadata encoder was only
checking for `DUMMY_SP` (dummy location + root `SyntaxContext`),
the metadata encoder would treat it as a normal span, encoding the
`SyntaxContext`. As a result, the final span encoded to the metadata
would change across sessions, even if the crate itself was unchanged.

This PR updates our encoding of spans in the crate metadata to mirror
the encoding of spans into the incremental cache. We now always encode a
`SyntaxContext`, and encode location information for spans with a
non-dummy location.
2021-06-11 12:07:18 -04:00
Jakub Kulik
f724ee4233 Improve comment 2021-06-11 12:06:42 -04:00
Jakub Kulik
bf28f680b7 Update Docker to build the deprecated target alongside the new one 2021-06-11 12:06:42 -04:00
12101111
8b1a5a7429 Build crtbengin.o/crtend.o from source code 2021-06-11 12:05:42 -04:00
Aaron Hill
c05bbb7237 Fix incorrect gating of nonterminals in key-value attributes
Fixes #85432

When processing a `#[derive]` or `#[cfg_eval]` attribute, we need to
re-parse our attribute target, which requires flattenting all
`Nonterminals`. However, this caused us to incorrectly gate on a
(flattented) nonterminal in a key-value attribute, which is supposed to
be allowed.

Since we already perform this gating during the initial parse, we
suppress it in `capture_cfg` mode.
2021-06-11 12:04:27 -04:00
Simonas Kazlauskas
752c939dfe Disable the machine outliner by default
This addresses a codegen-issue that needs to be fixed upstream in LLVM.
While we wait for the fix, we can disable it.

Verified manually that the outliner is no longer run when
`-Copt-level=z` is specified, and also that you can override this with
`-Cllvm-args=-enable-machine-outliner` if you need it anyway.

A regression test is not really feasible in this instance, given that we
do not have any minimal reproducers.

Fixes #85351
2021-06-11 12:00:52 -04:00
bors
05f39bff0f Auto merge of #86203 - pnkfelix:beta-targetted-issue-84297, r=dtolnay
Beta targetted Make copy/copy_nonoverlapping fn's again

beta backport of PR #86003

to address issue #84297
2021-06-11 13:06:47 +00:00
Felix S. Klock II
61520c8a43 Regression test for issue 84297. 2021-06-10 18:49:32 +00:00
Felix S. Klock II
4d9e64b6e3 Change test to use likely/unlikely instead of copy/copy_overlapping.
Test was added in PR #84404.

The intent here is: The `copy`/`copy_overlapping` intrinsics are going through
some flip-flopping now of "are they intrinsics or not". We can achieve the same
effect that the test intended by using `likely`/`unlikely`.
2021-06-10 14:00:04 +00:00
Felix S. Klock II
837cd138e4 Remove tests that were also added in PR 79684. 2021-06-10 13:59:54 +00:00
Felix S. Klock II
bc843fda00 Revert clippy's path to the copy intrinsics (part of reverting PR 81238). 2021-06-10 13:59:40 +00:00
Felix S. Klock II
f4f535bfef Revert PRs 81238 and 82967 (which made copy and copy_nonoverlapping intrinsics).
This is to address issue 84297.
2021-06-10 13:58:53 +00:00
Felix S. Klock II
fd8c88a178 Revert tests added by PR 81167. 2021-06-10 10:27:07 +00:00
Felix S. Klock II
4a887232da Revert effects of PRs 81167 and 83091.
This is preparation for reverting 81238 for short-term resolution of issue 84297.
2021-06-10 10:26:46 +00:00
bors
92752e9422 Auto merge of #86036 - nikic:disable-mutable-noalias, r=Mark-Simulacrum
[beta] Disable mutable noalias for Rust 1.53

Disable mutable noalias for the upcoming release to give this change more time to bake. I believe that was the consensus, and I wanted to make sure we don't forget :)

r? `@Mark-Simulacrum`
2021-06-09 00:49:29 +00:00
bors
d86f9d4acc Auto merge of #85893 - pnkfelix:beta-backport-85564, r=simulacrum
[beta] backport of readd capture disjoint fields gate

Beta backport of "readd capture disjoint fields gate", PR #85564

Fix issue #85435
2021-06-08 22:06:36 +00:00
bors
e79b9793de Auto merge of #85740 - flip1995:clippy_backport, r=Mark-Simulacrum
[Beta] Backport ICE fix in Clippy

This backports an ICE / stack overflow fix from rust-lang/rust-clippy#7170.

cc https://github.com/rust-lang/rust-clippy/issues/7169

cc `@llogiq` `@camsteffen`

r? `@Mark-Simulacrum`
2021-06-08 15:52:32 +00:00
bors
e7f4b8b34d Auto merge of #86092 - JohnTitor:clang-12-beta, r=Mark-Simulacrum
[beta] Backport #84894 to fix beta CI

Currently, beta backports fail with this failure: https://github.com/rust-lang/rust/pull/86036#issuecomment-855318336
```
STL1000: Unexpected compiler version, expected Clang 11.0.0 or newer.
```

The previous beta backport was successful because it uses a Visual Studio tool v14.28.29910 but now CI uses v14.29.30037.
#84894 updated clang to 12 so master didn't catch this change, I guess. Hopefully, it fixes CI failures on beta.
2021-06-08 10:18:05 +00:00
Josh Triplett
ff4c377dc1 Update clang to 12.0.0 on Windows and macOS
Needed for https://github.com/rust-lang/rust/pull/84764 . Tarballs
already uploaded to the CI mirror bucket.
2021-06-07 15:32:54 +09:00
Josh Triplett
849c075abc CI: Extract LLVM win64 installer directly, using 7z
Currently, we have LLVM tarballs for win64, generated by someone running
the installer via wine and tarring up the result.

7z knows how to extract NSIS installers directly, and the result is
identical to our tarball, except that it doesn't include `Uninstall.exe`
(which we don't care about) and it includes the NSIS plugin directory
(which we also don't care about).

This simplifies the process of upgrading CI, and allows us to just
mirror the upstream release .exe directly. This also improves our
supply chain.
2021-06-07 15:32:38 +09:00
Nikita Popov
bbd370cb25 Disable mutable noalias for Rust 1.53 2021-06-05 22:16:40 +02:00
Felix S Klock II
f9f5fc8926
no thir-unsafeck in beta
remove testing via `-Z thir-unsafeck`, since it is not appropriate for beta branch.
2021-06-01 14:43:16 -04:00
Felix S. Klock II
355dc5cae2 Regression test for issue 85435.
Apply suggestions from code review:

1. (removing confusing comment from my test, since the comment reflects the bad undesirable behavior that is being fixed here.)

2. test THIR unsafeck too.

Co-authored-by: Léo Lanteri Thauvin <leseulartichaut@gmail.com>
2021-06-01 11:33:43 -04:00
Felix S. Klock II
75dc9638a8 Revert portion of PR #83521 that injected issue #85435 (and thus exposed underlying issue #85561). 2021-06-01 11:32:19 -04:00
flip1995
47e2265b16
Merge commit 'c64b3ffbb5' into beta 2021-05-27 10:41:02 +02:00
bors
82b8621642 Auto merge of #85588 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] backports

 * Backport 1.52.1 release notes #85404
 * remove InPlaceIterable marker from Peekable due to unsoundness #85340
 * rustdoc: Call initSidebarItems in root module of crate #85304
 * Update LLVM submodule #85236
 * Do not ICE on invalid const param #84913
 * Disallows #![feature(no_coverage)] on stable and beta (using standard crate-level gating) #84871
 * Ensure TLS destructors run before thread joins in SGX #84409
2021-05-22 22:19:51 +00:00
Mohsen Zohrevandi
0e49ff0cb0 join_orders_after_tls_destructors: ensure thread 2 is launched before thread 1 enters TLS destructors 2021-05-22 15:43:17 -04:00
Mohsen Zohrevandi
5d1fdf44a9 Use atomics in join_orders_after_tls_destructors test
std::sync::mpsc uses thread locals and depending on the order TLS dtors
are run `rx.recv()` can panic when used in a TLS dtor.
2021-05-22 15:43:17 -04:00
Mohsen Zohrevandi
c297d1e61b Ensure TLS destructors run before thread joins in SGX 2021-05-22 15:43:17 -04:00
Rich Kadel
d1e2499b3b Disallows #![feature(no_coverage)] on stable and beta
using allow_internal_unstable (as recommended)

Fixes: #84836

```shell
$ ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc     src/test/run-make-fulldeps/coverage/no_cov_crate.rs
error[E0554]: `#![feature]` may not be used on the dev release channel
 --> src/test/run-make-fulldeps/coverage/no_cov_crate.rs:2:1
  |
2 | #![feature(no_coverage)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0554`.
```
2021-05-22 15:43:17 -04:00
Esteban Küber
e68af12691 Do not ICE on invalid const param
When encountering a path that can't have generics, do not call
`generics_of`. This would happen when writing something like
`path::this_is_a_mod<const_val>`.

Fix #84831.
2021-05-22 15:43:17 -04:00
Mark Rousskov
5d1125d083 Synchronize llvm to master commit 2021-05-22 15:43:17 -04:00
Justus K
855a573d66 Call initSidebarItems in root module of crate 2021-05-22 15:43:17 -04:00
the8472
ff346b98e2 from review: more robust test
This also checks the contents and not only the capacity in case IntoIter's clone implementation is changed to add capacity at the end. Extra capacity at the beginning would be needed to make InPlaceIterable work.

Co-authored-by: Giacomo Stevanato <giaco.stevanato@gmail.com>
2021-05-22 15:43:17 -04:00