87344 Commits

Author SHA1 Message Date
Philipp Hansch
c435357bc9
Bootstrap: Add testsuite for compiletest tool
The (currently) single unit test of the compiletest tool was never
executed on CI. At least I couldn't find any references of it in the
logs. This adds a test suite for compiletest so that our tester is
tested, too.

The compiletest tests can then also be executed with:

    ./x.py test src/tools/compiletest
2018-12-14 21:42:49 +01:00
bors
96d1334e56 Auto merge of #56572 - kevgrasso:let_self_err_dev, r=estebank
Contexually dependent error message for E0424 when value is assigned to "self"

This is an improvement for pull request #54495 referencing issue #54369. If the "self" keyword is assigned a value as though it were a valid identifier, it will now report:
```
let self = "self";
    ^^^^ `self` value is a keyword and may not be bound to variables or shadowed
```
instead of
```
let self = "self";
    ^^^^ `self` value is a keyword only available in methods with `self` parameter
```
If anyone has a better idea for what the error should be I'd be happy to modify it appropriately.
2018-12-14 20:36:12 +00:00
Alex Crichton
fbb56bcf44 rustc: Add the cmpxchg16b target feature on x86/x86_64
This appears to be called `cx16` in LLVM and a few other locations, but
the Intel Intrinsic Guide doesn't have a name for this and the CPU
manual from Intel only mentions `cmpxchg16b`, so that's the name chosen
here.
2018-12-14 12:00:01 -08:00
Alex Crichton
ceee7f34f5 rustc: Add an unstable simd_select_bitmask intrinsic
This is going to be required for binding a number of AVX-512 intrinsics
in the `stdsimd` repository, and this intrinsic is the same as
`simd_select` except that it takes a bitmask as the first argument
instead of a SIMD vector. This bitmask is then transmuted into a `<NN x
i8>` argument, depending on how many bits it is.

cc rust-lang-nursery/stdsimd#310
2018-12-14 11:17:24 -08:00
Alex Crichton
c811915eaf std: Activate compiler_builtins mem feature for no_std targets
This was an accidental regression from #56092, but for `no_std` targets
being built and distributed we want to be sure to activate the
compiler-builtins `mem` feature which demangles important memory-related
intrinsics.
2018-12-14 09:05:31 -08:00
bors
1897657ef0 Auto merge of #56818 - kennytm:rollup-2, r=kennytm
Rollup of 14 pull requests (first batch)

Successful merges:

 - #56562 (Update libc version required by rustc)
 - #56609 (Unconditionally emit the target-cpu LLVM attribute.)
 - #56637 (rustdoc: Fix local reexports of proc macros)
 - #56658 (Add non-panicking `maybe_new_parser_from_file` variant)
 - #56695 (Fix irrefutable matches on integer ranges)
 - #56699 (Use a `newtype_index!` within `Symbol`.)
 - #56702 ([self-profiler] Add column for percent of total time)
 - #56708 (Remove some unnecessary feature gates)
 - #56709 (Remove unneeded extra chars to reduce search-index size)
 - #56744 (specialize: remove Boxes used by Children::insert)
 - #56748 (Update panic message to be clearer about env-vars)
 - #56749 (x86: Add the `adx` target feature to whitelist)
 - #56756 (Disable btree pretty-printers on older gdbs)
 - #56789 (rustc: Add an unstable `simd_select_bitmask` intrinsic)

r? @ghost
2018-12-14 16:15:20 +00:00
QuietMisdreavus
8faaef66c9 add test for parsing comments in doctest headers 2018-12-14 09:17:11 -06:00
QuietMisdreavus
ea3078d2e0 include comments in doctest partition logic 2018-12-14 09:17:11 -06:00
kennytm
e065de2ea8
Rollup merge of #56562 - pnkfelix:issue-55465-update-libc-version, r=alexcrichton
Update libc version required by rustc

This is meant to be an easy-to-backport fix for #55465
2018-12-14 22:17:54 +08:00
kennytm
3397b79868
Rollup merge of #56789 - alexcrichton:simd_select_bitmask, r=rkruppe
rustc: Add an unstable `simd_select_bitmask` intrinsic

This is going to be required for binding a number of AVX-512 intrinsics
in the `stdsimd` repository, and this intrinsic is the same as
`simd_select` except that it takes a bitmask as the first argument
instead of a SIMD vector. This bitmask is then transmuted into a `<NN x
i8>` argument, depending on how many bits it is.

cc rust-lang-nursery/stdsimd#310
2018-12-14 22:17:52 +08:00
kennytm
4a0ee22bc2
Rollup merge of #56756 - tromey:Bug-56730-btree-pretty-printer, r=alexcrichton
Disable btree pretty-printers on older gdbs

gdb versions before 8.1 have a bug that prevents the BTreeSet and
BTreeMap pretty-printers from working.  This patch disables the test
on those versions, and also disables the pretty-printers there as
well.

Closes #56730
2018-12-14 22:17:49 +08:00
kennytm
adb674ca29
Rollup merge of #56749 - alexcrichton:adx, r=gnzlbg
x86: Add the `adx` target feature to whitelist

Requested in rust-lang-nursery/stdsimd#322 this is hopefully the first
step!
2018-12-14 22:17:46 +08:00
kennytm
123b72a05e
Rollup merge of #56748 - kinnison:kinnison/fix-56734, r=dtolnay
Update panic message to be clearer about env-vars

Esteban Kuber requested that the panic message make it clear
that `RUST_BACKTRACE=1` is an environment variable.  This change
makes that clear.

I understand that this may simply be closed if the concept isn't accepted, and I'd be fine with that :-)

Fixes #56734
2018-12-14 22:17:43 +08:00
kennytm
7ec1faa27a
Rollup merge of #56744 - ljedrz:unbox_the_children, r=matthewjasper
specialize: remove Boxes used by Children::insert
2018-12-14 22:17:40 +08:00
kennytm
facad1d6f2
Rollup merge of #56709 - GuillaumeGomez:reduce-search-index, r=QuietMisdreavus
Remove unneeded extra chars to reduce search-index size

Before:

```
2013782 Dec 11 10:16 build/x86_64-unknown-linux-gnu/doc/search-index.js
```

After:

```
1736597 Dec 11 10:50 build/x86_64-unknown-linux-gnu/doc/search-index.js
```

No changes in the output of the search.

r? @QuietMisdreavus
2018-12-14 22:10:13 +08:00
kennytm
27c3631d82
Rollup merge of #56708 - oli-obk:stability_internal_const_fn, r=alexcrichton
Remove some unnecessary feature gates

fixes #56585

cc @jethrogb
2018-12-14 22:10:12 +08:00
kennytm
3e17988a53
Rollup merge of #56702 - wesleywiser:calc_total_time_stats, r=michaelwoerister
[self-profiler] Add column for percent of total time

Example output:

```
Self profiling results:

| Phase            | Time (ms)      | Time (%) | Queries        | Hits (%)
| ---------------- | -------------- | -------- | -------------- | --------
| Parsing          | 3              | 0.52     |                |
| Expansion        | 64             | 11.27    |                |
| TypeChecking     | 13             | 2.36     | 35208          | 90.77
| BorrowChecking   | 0              | 0.10     | 68             | 50.00
| Codegen          | 22             | 3.82     | 7362           | 75.12
| Linking          | 252            | 43.81    | 458            | 68.56
| Other            | 219            | 38.12    | 47372          | 56.84

Optimization level: No
Incremental: off

```

cc @michaelwoerister
2018-12-14 22:10:11 +08:00
kennytm
dadf7fcc2d
Rollup merge of #56699 - nnethercote:SymbolIndex, r=oli-obk
Use a `newtype_index!` within `Symbol`.

This shrinks `Option<Symbol>` from 8 bytes to 4 bytes, which shrinks
`Token` from 24 bytes to 16 bytes. This reduces instruction counts by up
to 1% across a range of benchmarks.

r? @oli-obk
2018-12-14 22:10:09 +08:00
kennytm
53a2de2d54
Rollup merge of #56695 - varkor:let-exhaustive-range, r=estebank
Fix irrefutable matches on integer ranges

Fixes https://github.com/rust-lang/rust/issues/56659.
2018-12-14 22:10:08 +08:00
kennytm
35fe8c92e9
Rollup merge of #56658 - Xanewok:non-panicking-file-parser, r=petrochenkov
Add non-panicking `maybe_new_parser_from_file` variant

Add (seemingly?) missing `maybe_new_parser_from_file` constructor variant.

Disclaimer: I'm not certain this is the correct approach - just found out we don't have this when working on a Rustfmt PR to catch/prevent more Rust parser panics: https://github.com/rust-lang/rustfmt/pull/3240 and tried to make it work somehow.
2018-12-14 22:10:07 +08:00
kennytm
795f18efb8
Rollup merge of #56637 - ollie27:rustdoc_proc_macro_local_reexport, r=QuietMisdreavus
rustdoc: Fix local reexports of proc macros

Filter out `ProcMacroStub`s to avoid an ICE during cleaning.

Also add proc macros to `cache().paths` so it can generate links.

r? @QuietMisdreavus
2018-12-14 22:10:06 +08:00
kennytm
4f0f1102bf
Rollup merge of #56609 - michaelwoerister:unconditional-target-cpu-attr, r=alexcrichton
Unconditionally emit the target-cpu LLVM attribute.

This PR makes `rustc` always emit the `target-cpu` LLVM attribute for functions. The goal is to allow for cross-language inlining of functions defined in `libstd`. So far `libstd` functions were the only function without a `target-cpu` attribute, so in whole-crate-graph cross-lang LTO scenarios they were not eligible for inlining into foreign code.

r? @alexcrichton
2018-12-14 22:10:04 +08:00
bors
7d03617bab Auto merge of #56568 - notriddle:master, r=alexcrichton
Remove dependency on shell32.dll

Closes #56510 if it works on MinGW (I've only tested it on MSVC).
2018-12-14 13:44:15 +00:00
Danilo Bargen
275deacc4c Fix docs path to PermissionsExt 2018-12-14 10:53:19 +01:00
Roberto Vidal
b6b278e552 Fixes broken links 2018-12-14 10:40:08 +01:00
bors
f4b07e0713 Auto merge of #56490 - faern:add-checked-add-to-instant, r=alexcrichton
Add checked_add method to Instant time type

Appending functionality to the already opened topic of `checked_add` on time types over at #55940.

Doing checked addition between an `Instant` and a `Duration` is important to reliably determine a future instant. We could use this in the `parking_lot` crate to compute an instant when in the future to wake a thread up without risking a panic.
2018-12-14 09:10:35 +00:00
bors
664ede88fa Auto merge of #56536 - alexcrichton:update-master, r=Mark-Simulacrum
Bump to 1.33.0

* Update bootstrap compiler
* Update version to 1.33.0
* Remove some `#[cfg(stage0)]` annotations
2018-12-14 06:52:19 +00:00
bors
97a0bd6082 Auto merge of #56778 - Xanewok:update-clippy, r=kennytm
Update Clippy

Hopefully unbreaks toolstate: https://github.com/rust-lang/rust/pull/56092#issuecomment-446631916
2018-12-14 03:22:14 +00:00
Kevyn Grasso
9de6beeae2 debug logging, added conditional error message, tests updated 2018-12-13 20:16:03 -05:00
bors
0d4f91905b Auto merge of #56351 - davidtwco:issue-55396-stabilize-linker-flavor, r=nagisa
Stabilize `linker-flavor` flag.

Part of #55396.

This commit moves the linker-flavor flag from a debugging option to a
codegen option, thus stabilizing it. There are no feature flags
associated with this flag.

r? @nagisa
2018-12-14 00:28:08 +00:00
Daniel Silverstone
6057147fde Update panic message to be clearer about env-vars
Esteban Kuber requested that the panic message make it clear
that `RUST_BACKTRACE=1` is an environment variable.  This change
makes that clear.  Wording provided in part by David Tolnay.
2018-12-13 23:07:04 +00:00
Alex Crichton
5087aef792 rustc: Add an unstable simd_select_bitmask intrinsic
This is going to be required for binding a number of AVX-512 intrinsics
in the `stdsimd` repository, and this intrinsic is the same as
`simd_select` except that it takes a bitmask as the first argument
instead of a SIMD vector. This bitmask is then transmuted into a `<NN x
i8>` argument, depending on how many bits it is.

cc rust-lang-nursery/stdsimd#310
2018-12-13 14:05:12 -08:00
bors
5900dae51d Auto merge of #56142 - jnqnfe:osstr_lossy_example, r=alexcrichton
[std] Osstr lossy example
2018-12-13 21:52:17 +00:00
Guillaume Gomez
987bf2ed29 Split on words instead 2018-12-13 22:11:22 +01:00
Matthew Jasper
cdd537339e Make determining the discriminant a normal Shallow read
Enum layout optimizations mean that the discriminant of an enum may not
be stored in a tag disjoint from the rest of the fields of the enum.
Stop borrow checking as though they are.
2018-12-13 20:53:07 +00:00
QuietMisdreavus
22de23e303 add crates to the final doctest 2018-12-13 14:31:17 -06:00
Esteban Küber
33a34b06ac Wording changes 2018-12-13 09:55:16 -08:00
Linus Färnstrand
9e5e89a0d3 Fix dur2intervals import on cloudabi 2018-12-13 18:49:54 +01:00
bors
f4a421ee3c Auto merge of #56783 - alexcrichton:pinentry-mode, r=Mark-Simulacrum
Add `--pinentry-mode=loopback` to deployment script

Apparently this changed with gpg2 or... something like that?
2018-12-13 17:38:17 +00:00
Oliver Scherer
a39f184437
Use dedup instead of dedup_by
Co-Authored-By: estebank <estebank@users.noreply.github.com>
2018-12-13 09:36:18 -08:00
Alex Crichton
b1858677ce Add --pinentry-mode=loopback to deployment script
Apparently this changed with gpg2 or... something like that?
2018-12-13 08:19:06 -08:00
Nikita Popov
1d8a3a03b9 Update LLVM submodule 2018-12-13 16:36:07 +01:00
Linus Färnstrand
9511fc7845 Fix checked_add/sub for sys/sgx/time.rs 2018-12-13 15:25:14 +01:00
Linus Färnstrand
f5a99c321b Add checked_sub for Instant and SystemTime 2018-12-13 15:25:14 +01:00
Linus Färnstrand
13f0463a19 Add checked_add method to Instant time type 2018-12-13 15:25:14 +01:00
Igor Matuszewski
11b6432026 Update Clippy 2018-12-13 15:21:18 +01:00
bors
7489ee9c6f Auto merge of #56461 - oli-obk:alloc_ids, r=RalfJung
Some cleanups around `AllocId` management

r? @eddyb
cc @RalfJung
2018-12-13 12:36:13 +00:00
Oliver Scherer
1c2a29e29a Expand on a few comments 2018-12-13 12:54:57 +01:00
Oliver Scherer
5df6af49a7 Update tests to show diagnostics 2018-12-13 12:54:49 +01:00
Oliver Scherer
25a4f76d63 Fix indent 2018-12-13 12:24:38 +01:00