133443 Commits

Author SHA1 Message Date
Mara Bos
83fcbd576d
Rollup merge of #79133 - pietroalbini:simplify-stage0, r=Mark-Simulacrum
bootstrap: use the same version number for rustc and cargo

Historically the stable tarballs were named after the version number ofthe specific tool, instead of the version number of Rust. For example, both of the following tarballs were part of the same release:

    rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
    cargo-0.49.0-x86_64-unknown-linux-gnu.tar.xz

PR #77336 changed the dist code to instead use Rust's version number for all the tarballs, regardless of the tool they contain:

    rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
    cargo-1.48.0-x86_64-unknown-linux-gnu.tar.xz

Because of that there is no need anymore to have a separate `cargo` field in `src/stage0.txt`, as the Cargo version will always be the same as the rustc version. This PR removes the field, simplifying the code and the maintenance work required while producing releases.

r? ``@Mark-Simulacrum``
2020-11-18 15:46:34 +01:00
Mara Bos
e2addb4329
Rollup merge of #79131 - vertexclique:stdarch-update, r=Amanieu
Enable AVX512 *epi64 variants by updating stdarch
2020-11-18 15:46:32 +01:00
Mara Bos
126d88bd12
Rollup merge of #79114 - andjo403:nonzero_leading_trailing_zeros, r=m-ou-se
add trailing_zeros and leading_zeros to non zero types

as a way towards being able to use the optimized intrinsics ctlz_nonzero and cttz_nonzero from stable.

have not crated any tracking issue if this is not a solution that is wanted
2020-11-18 15:46:31 +01:00
Mara Bos
f85c3f72a4
Rollup merge of #79079 - camelid:mir-visit-docs, r=matthewjasper
Turn top-level comments into module docs in MIR visitor
2020-11-18 15:46:29 +01:00
Mara Bos
ad6fd9b037
Rollup merge of #79039 - thomcc:weakly-relaxing, r=Amanieu
Tighten the bounds on atomic Ordering in std::sys::unix::weak::Weak

This moves reading this from multiple SeqCst reads to Relaxed read + Acquire fence if we are actually going to use the data.

Would love to avoid the Acquire fence, but doing so would need Ordering::Consume, which neither Rust, nor LLVM supports (a shame, since this fence is hardly free on ARM, which is what I was hoping to improve).

r? ``@Amanieu`` (Sorry for always picking you, but I know a lot of people wouldn't feel comfortable reviewing atomic ordering changes)
2020-11-18 15:46:27 +01:00
Mara Bos
92dcf6d733
Rollup merge of #78999 - petrochenkov:deprid, r=eddyb
stability: More precise location for deprecation lint on macros

One missing piece of https://github.com/rust-lang/rust/pull/73178.
2020-11-18 15:46:25 +01:00
Mara Bos
61134aa54c
Rollup merge of #78785 - cuviper:weak-getrandom, r=m-ou-se
linux: try to use libc getrandom to allow interposition

We'll try to use a weak `getrandom` symbol first, because that allows
things like `LD_PRELOAD` interposition. For example, perf measurements
might want to disable randomness to get reproducible results. If the
weak symbol is not found, we fall back to a raw `SYS_getrandom` call.
2020-11-18 15:46:23 +01:00
Mara Bos
c7e9029b80
Rollup merge of #78361 - DevJPM:master, r=workingjubilee
Updated the list of white-listed target features for x86

This PR both adds in-source documentation on what to look out for when adding a new (X86) feature set and [adds all that are detectable at run-time in Rust stable as of 1.27.0](https://github.com/rust-lang/stdarch/blob/master/crates/std_detect/src/detect/arch/x86.rs).

This should only enable the use of the corresponding LLVM intrinsics.
Actual intrinsics need to be added separately in rust-lang/stdarch.

It also re-orders the run-time-detect test statements to be more consistent
with the actual list of intrinsics whitelisted and removes underscores not present
in the actual names (which might be mistaken as being part of the name)

The reference for LLVM's feature names used is [this file](https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/Support/X86TargetParser.def).

This PR was motivated as the compiler end's part for allowing #67329 to be adressed over on rust-lang/stdarch
2020-11-18 15:46:19 +01:00
bors
7d747db0d5 Auto merge of #79159 - pietroalbini:woops, r=pietroalbini
Revert #79132

The beta promotion release was mistakenly landed on master instead of beta. Ugh.

r? `@ghost`
cc `@rust-lang/release`
2020-11-18 10:39:02 +00:00
Pietro Albini
3853c0c9fc
Revert "Auto merge of #79132 - pietroalbini:beta-next, r=Mark-Simulacrum"
This was landed on master instead of beta!
2020-11-18 11:18:40 +01:00
bors
c4f836ad1a Auto merge of #77820 - jyn514:from-inner, r=petrochenkov
Add `Item::from_def_id_and_kind` to reduce duplication in rustdoc

This makes it harder to make typos, and also makes it much more clear what's intentionally different rather than a typo (look for `what_rustc_thinks`).

Found this while working on https://github.com/rust-lang/rust/issues/76998, I really didn't want to add `const_visibility` in 20 different places.

r? `@GuillaumeGomez`
2020-11-18 03:56:18 +00:00
bors
87776d7d53 Auto merge of #79132 - pietroalbini:beta-next, r=Mark-Simulacrum
Prepare beta 1.49.0

This PR sets everything up for beta 1.49.0, and backports the following PRs to it:

* #79107 - build-manifest: strip newline from rustc version
* #78986 - Avoid installing external LLVM dylibs
* #79074 - Install CI llvm into the library directory
* #78364 - Update RELEASES.md for 1.48.0
* #77939 - Ensure that the source code display is working with DOS backline

r? `@ghost`
cc `@rust-lang/release`
2020-11-18 01:34:32 +00:00
Mark Rousskov
7477867b01 Ignore failures of RLS on aarch64 Windows 2020-11-17 16:00:41 -05:00
Joshua Nelson
0e1a302f59 Remove dead code in rustdoc::doctree
It was completely unused.
2020-11-17 15:16:05 -05:00
Joshua Nelson
fc4ca55291 Add from_def_id_and_kind reducing duplication in rustdoc
- Add `Item::from_hir_id_and_kind` convenience wrapper
- Make name parameter mandatory

  `tcx.opt_item_name` doesn't handle renames, so this is necessary
  for any item that could be renamed, which is almost all of them.

- Override visibilities to be `Inherited` for enum variants

  `tcx.visibility` returns the effective visibility, not the visibility
  that was written in the source code. `pub enum E { A, B }` always has
  public variants `A` and `B`, so there's no sense printing `pub` again.

- Don't duplicate handling of `Visibility::Crate`

  Instead, represent it as just another `Restricted` path.
2020-11-17 15:16:03 -05:00
Joshua Nelson
c9a17b1d3f Fix broken handling of MacroDef in Map::attrs
This also uses an exhaustive match to avoid future similar bugs.
2020-11-17 15:13:25 -05:00
Joshua Nelson
6c28ffbef3 Use DefPath for clean::Visibility, not clean::Path
Visibility needs much less information than a full path, since modules
can never have generics. This allows constructing a Visibility from only
a DefId.

Note that this means that paths are now normalized to their DefPath.
In other words, `pub(self)` or `pub(super)` now always shows `pub(in
path)` instead of preserving the original text.
2020-11-17 15:13:25 -05:00
Andreas Jonson
9bbc4c16d3 add trailing_zeros and leading_zeros to non zero types 2020-11-17 19:54:29 +01:00
Mark Rousskov
6142bf6bd9
Update fulldeps test 2020-11-17 16:43:38 +01:00
bors
c919f490bb Auto merge of #79138 - m-ou-se:rollup-owel5ld, r=m-ou-se
Rollup of 8 pull requests

Successful merges:

 - #74293 (Rustdoc test compiler output color)
 - #78702 ([self-profiling] Include the estimated size of each cgu in the profile)
 - #79069 (Get rid of `highlight::Class::None`)
 - #79072 (Fix exhaustiveness in case a byte string literal is used at slice type)
 - #79120 (update rustfmt to v1.4.27)
 - #79125 (Get rid of clean::{Method, TyMethod})
 - #79126 (Remove duplicate `Trait::auto` field)
 - #79130 (extend macro braces test)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2020-11-17 15:27:29 +00:00
Mara Bos
f698505177
Rollup merge of #79130 - lcnr:extend-tes, r=varkor
extend macro braces test

r? `@varkor`
2020-11-17 16:14:00 +01:00
Mara Bos
ca38bd4230
Rollup merge of #79126 - jyn514:auto, r=GuillaumeGomez
Remove duplicate `Trait::auto` field

It was exactly the same as `is_auto`.

I found this while working on #78082, but it's not required for that PR.

r? `@GuillaumeGomez`
2020-11-17 16:13:58 +01:00
Mara Bos
3d63f25edf
Rollup merge of #79125 - jyn514:fewer-types, r=GuillaumeGomez
Get rid of clean::{Method, TyMethod}

They're redundant and almost the same as `clean::Function`.

I needed this for https://github.com/rust-lang/rust/pull/78082, although I forget why.

r? `@GuillaumeGomez`
2020-11-17 16:13:57 +01:00
Mara Bos
53ddb73fd3
Rollup merge of #79120 - calebcartwright:update-rustfmt, r=Mark-Simulacrum
update rustfmt to v1.4.27

Fixes https://github.com/rust-lang/rustfmt/issues/4528
2020-11-17 16:13:55 +01:00
Mara Bos
b6f52410bb
Rollup merge of #79072 - oli-obk:byte_str_pat, r=estebank
Fix exhaustiveness in case a byte string literal is used at slice type

fixes #79048
2020-11-17 16:13:53 +01:00
Mara Bos
dda479815a
Rollup merge of #79069 - jyn514:class-none, r=GuillaumeGomez
Get rid of `highlight::Class::None`

This is mostly me learning the codebase for https://github.com/rust-lang/rust/pull/77939, so feel free to close the PR.
It does have the small benefit that we statically know rustdoc isn't generating useless `span`s, though.

r? `@GuillaumeGomez`
cc `@matklad`
2020-11-17 16:13:51 +01:00
Mara Bos
fa45fce0d3
Rollup merge of #78702 - wesleywiser:self_profile_cgu_sizes, r=Mark-Simulacrum
[self-profiling] Include the estimated size of each cgu in the profile

This is helpful when looking for CGUs where the size estimate isn't a
good indicator of compilation time.

I verified that moving the profiling timer call doesn't affect the
results.

Results:

<img width="297" alt="Screen Shot 2020-11-03 at 7 25 04 AM" src="https://user-images.githubusercontent.com/831192/97985503-5901d100-1da6-11eb-9f10-f3e399702952.png">

`measureme` doesn't have support for custom arg names yet so `arg0` is the CGU name and `arg1` is the estimated size.
2020-11-17 16:13:49 +01:00
Mara Bos
81f9feba97
Rollup merge of #74293 - GuillaumeGomez:rustdoc-test-compiler-output-color, r=jyn514
Rustdoc test compiler output color

Fixes #72915

We just need to be sure it doesn't break rustdoc doctests' compilation checks. Maybe some other unforeseen consequences too?

r? `@ehuss`
cc `@rust-lang/rustdoc`
2020-11-17 16:13:46 +01:00
Pietro Albini
d17874ff60 bootstrap: use the same version number for rustc and cargo
Historically the stable tarballs were named after the version number of
the specific tool, instead of the version number of Rust. For example,
both of the following tarballs were part of the same release:

    rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
    cargo-0.49.0-x86_64-unknown-linux-gnu.tar.xz

PR #77336 changed the dist code to instead use Rust's version number for
all the tarballs, regardless of the tool they contain:

    rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
    cargo-1.48.0-x86_64-unknown-linux-gnu.tar.xz

Because of that there is no need anymore to have a separate `cargo`
field in src/stage0.txt, as the Cargo version will always be the same as
the rustc version. This PR removes the field, simplifying the code and
the maintenance work required while producing releases.
2020-11-17 09:14:02 -05:00
bors
e0ef0fc392 Auto merge of #78779 - LeSeulArtichaut:ty-visitor-return, r=oli-obk
Introduce `TypeVisitor::BreakTy`

Implements MCP rust-lang/compiler-team#383.
r? `@ghost`
cc `@lcnr` `@oli-obk`

~~Blocked on FCP in rust-lang/compiler-team#383.~~
2020-11-17 12:24:34 +00:00
Guillaume Gomez
d2df22268c
Add test to ensure that no DOS backline (\r\n) doesn't create extra backline in source rendering 2020-11-17 12:42:51 +01:00
Guillaume Gomez
f7886a6277
Ensure that the source code display is working with DOS backline 2020-11-17 12:42:47 +01:00
XAMPPRocky
2f3b6e1320
Update RELEASES.md 2020-11-17 12:40:12 +01:00
XAMPPRocky
53597c7d62
Update RELEASES.md 2020-11-17 12:40:07 +01:00
XAMPPRocky
c571271e56
Update RELEASES.md 2020-11-17 12:40:04 +01:00
XAMPPRocky
70d23b1578
Update RELEASES.md 2020-11-17 12:40:00 +01:00
XAMPPRocky
2317b82eb4
Update RELEASES.md 2020-11-17 12:39:56 +01:00
XAMPPRocky
949043e2e9
Update RELEASES.md 2020-11-17 12:39:52 +01:00
XAMPPRocky
dc8d2eb60b
Update RELEASES.md 2020-11-17 12:39:48 +01:00
XAMPPRocky
51d9591de1
Update RELEASES.md 2020-11-17 12:39:43 +01:00
XAMPPRocky
5921bca28f
Apply suggestions from code review
Co-authored-by: Camelid <camelidcamel@gmail.com>
Co-authored-by: Mark Rousskov <mark.simulacrum@gmail.com>
2020-11-17 12:39:39 +01:00
XAMPPRocky
c321d6a9f8
Apply suggestions from code review
Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-11-17 12:39:35 +01:00
XAMPPRocky
bc41092242
Update RELEASES.md
Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
2020-11-17 12:39:30 +01:00
XAMPPRocky
b77adff6fa
Update RELEASES.md 2020-11-17 12:39:26 +01:00
Erin Power
a9ace8cac9
Update RELEASES.md for 1.48.0 2020-11-17 12:39:22 +01:00
Mark Rousskov
2101ecacf8
Install CI llvm into the library directory 2020-11-17 12:38:49 +01:00
Mark Rousskov
a01256f4ae
Avoid installing external LLVM dylibs
If the LLVM was externally provided, then we don't currently copy artifacts into
the sysroot. This is not necessarily the right choice (in particular, it will
require the LLVM dylib to be in the linker's load path at runtime), but the
common use case for external LLVMs is distribution provided LLVMs, and in that
case they're usually in the standard search path (e.g., /usr/lib) and copying
them here is going to cause problems as we may end up with the wrong files and
isn't what distributions want.

This behavior may be revisited in the future though.
2020-11-17 12:38:35 +01:00
Pietro Albini
e881b4e26c
build-manifest: strip newline from rustc version 2020-11-17 12:36:01 +01:00
Pietro Albini
1bac1b40c8
this is beta 1.49.0 2020-11-17 12:33:49 +01:00
Mahmut Bulut
d701bf91fe Enable AVX512 *epi64 variants by updating stdarch 2020-11-17 11:50:52 +01:00