Commit Graph

87898 Commits

Author SHA1 Message Date
Ariel Ben-Yehuda
0152d33bc1 fix Rc -> Lrc 2018-12-15 00:41:29 +02:00
Ariel Ben-Yehuda
12c17f9110 move overflow error reporting out of the query
that allows the error reporting to contain the span.
2018-12-15 00:41:28 +02:00
Ariel Ben-Yehuda
e25e2e0600 make autoderef steps a query 2018-12-15 00:41:28 +02:00
Ariel Ben-Yehuda
be2bb4fa1d implement "isolated" autoderef using the Canonical mechanism 2018-12-15 00:41:28 +02:00
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
Oliver Scherer
6b96827ae9 Remove dead code 2018-12-14 18:35:39 +01:00
Ariel Ben-Yehuda
f934cfc40c fix english 2018-12-14 19:28:30 +02:00
Ariel Ben-Yehuda
c2ba2a7b65 use tracking issue instead of original issue 2018-12-14 19:14:22 +02:00
Ariel Ben-Yehuda
6e4b2b3ae7 fix stupid bug 2018-12-14 19:14:22 +02:00
Ariel Ben-Yehuda
760639635f add coherence future-compat warnings for marker-only trait objects
The future-compat warnings break code that assumes that `dyn Send + Sync !=
dyn Sync + Send`, and are the first step in making them equal. cc #33140.

It should be possible to revert this commit when we're done with the
warnings.
2018-12-14 19:14:22 +02: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
Ariel Ben-Yehuda
38825674b2 add the ORDER_DEPENDENT_TRAIT_OBJECTS lint 2018-12-14 18:19:00 +02:00
Ariel Ben-Yehuda
832ac110df remove the typeck::autoderef::Autoderef fcx field
This allows using it in an fcx-independent context
2018-12-14 18:18:51 +02:00
Ariel Ben-Yehuda
07201249f0 process nested obligations in autoderef
This is a hack-fix to #53843, but I am worried it might break things
because it makes the "inference pollution" problem worse.

Fixes #53843 (but introduces a bug that someone might notice).
2018-12-14 18:18:51 +02:00
Andy Russell
5f3431691d
simplify deprecation and stability rendering 2018-12-14 11:15:25 -05: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
ljedrz
959313aad0 format: minor stylistic improvements 2018-12-14 14:40:05 +01:00
Oliver Scherer
4dfb91d238 Always run rustc in a thread 2018-12-14 13:09:05 +01:00
ljedrz
002310a496 format: refactor verify_arg_type 2018-12-14 12:39:01 +01:00
Felix S. Klock II
42167b94a3 fix issue 54153 by ignoring issue-18804 test on windows/mac.
As a drive-by, add `-C no-prepopulate-passes` as suggested by nikic.
2018-12-14 12:03:01 +01:00
ljedrz
8866f68a4d format: refactor report_invalid_references 2018-12-14 11:29:27 +01:00
Danilo Bargen
275deacc4c Fix docs path to PermissionsExt 2018-12-14 10:53:19 +01:00
ljedrz
3d052c920b format: inline one-liners related to parse_expr 2018-12-14 10:48:41 +01:00
ljedrz
37a3b7c80e format: remove unreachable condition 2018-12-14 10:43:10 +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