Commit Graph

83331 Commits

Author SHA1 Message Date
bors
8adc69a5a8 Auto merge of #53779 - RalfJung:miri-refactor, r=oli-obk
Miri refactor: Final round

Tying up some loose ends that I noticed in the previous PRs -- and finally getting argument passing into a shape where @eddyb says it is "okay", which is a big improvement over the previous verdict that I cannot quote in public. ;)

Also move a bunch of useful helpers to construct `Scalar` from miri to here.

Cc @eddyb
r? @oli-obk
2018-08-31 01:18:42 +00:00
Esteban Küber
013710e8e8 Use suggestion for dereference help 2018-08-30 16:01:42 -07:00
Esteban Küber
da9ba98fad Format code 2018-08-30 16:01:08 -07:00
Esteban Küber
70ed4f972e Point at def span on incorrect panic or alloc error handler 2018-08-30 16:00:09 -07:00
bors
c6047ea192 Auto merge of #53828 - alexcrichton:dist-llvm-shared, r=japaric
rustbuild: Distribute libLLVM.so with rustc

A recent change (#53245) started to build LLVM with ThinLTO enabled and to
ensure that compile times are kept down it builds LLVM dynamically by default to
ensure that all the various LLVM tools aren't redoing all that optimization
work. This means, however, that all LLVM tools depend on LLVM's dynamic library
by default.

While the LLVM tools and LLDB components were updated to include the shared
library we accidentally forgot about LLD, included with the main rustc
component. LLD also links dynamically to LLVM and ships a non-working binary
right now because of this!

This commit updates our distribution to ship the LLVM dynamic library with the
compiler libraries.  While not technically needed for rustc itself to operate
(right now) it may be needed for LLD, and otherwise it serves as a good basis
for the other LLVM tools components to work with as well.

This should...

Closes #53813
2018-08-30 22:54:34 +00:00
David Wood
08a4a37678
Omit 'missing IndexMut impl' suggestion when IndexMut is implemented. 2018-08-31 00:54:04 +02:00
Santiago Pastorino
a6aa5ddf56
Run rustfmt 2018-08-30 19:14:35 -03:00
Santiago Pastorino
373fc932aa
Make move out computation lazy 2018-08-30 19:14:31 -03:00
Nick Cameron
6aafd7adc6 save-analysis: record info for the types in where clauses
cc https://github.com/rust-lang-nursery/rls/issues/987
2018-08-31 10:10:57 +12:00
David Wood
1ad2f5cec4
Added help message for missing IndexMut impl. 2018-08-30 21:44:19 +02:00
Philip Daniels
47aa475866 Fix direction of slashes in the help text example. 2018-08-30 20:23:41 +01:00
David Craven
173c67948b
[RISCV] Disable atomics for riscv32imc-unknown-none-elf. 2018-08-30 20:35:36 +02:00
David Wood
ef6851cdb2
Added InitLocation to encode Location or Local depending on source of Init 2018-08-30 20:21:42 +02:00
Pietro Albini
6b1fffae20
Rollup merge of #53806 - GuillaumeGomez:fix-ui-issues-foreign-type-impls, r=QuietMisdreavus
Fix UI issues on Implementations on Foreign types

Fixes #53800.

<img width="1440" alt="screen shot 2018-08-29 at 22 06 35" src="https://user-images.githubusercontent.com/3050060/44814733-e9986180-abdd-11e8-97e0-0e3c1816ca04.png">

r? @QuietMisdreavus
2018-08-30 20:15:48 +02:00
Pietro Albini
78d5509625
Rollup merge of #53786 - frewsxcv:frewsxcv-bad-style, r=Manishearth
Replace usages of 'bad_style' with 'nonstandard_style'.

`bad_style` is being deprecated in favor of `nonstandard_style`:

- https://github.com/rust-lang/rust/issues/41646
2018-08-30 20:15:47 +02:00
Pietro Albini
07fcb0168e
Rollup merge of #53785 - tbu-:pr_comment, r=Mark-Simulacrum
Fix a comment in src/libcore/slice/mod.rs
2018-08-30 20:15:46 +02:00
Pietro Albini
c9862e2cb7
Rollup merge of #53768 - RalfJung:gitignore, r=nikomatsakis
move file-extension based .gitignore down to src/

Currently, it for example ignores `*.rlib` files in the repository root -- which I think is wrong; I sometimes get these files when I call rustc directly and I do want them cleaned up, not ignored. No such files are created during the normal build process.
2018-08-30 20:15:44 +02:00
Pietro Albini
11fab7db1d
Rollup merge of #53756 - dmerejkowsky:fix-comment, r=KodrAus
Fix typo in comment
2018-08-30 20:15:43 +02:00
Pietro Albini
ad9a0016a4
Rollup merge of #53753 - RalfJung:keep-stage, r=nikomatsakis
expand keep-stage --help text
2018-08-30 20:15:42 +02:00
Pietro Albini
2e2980b722
Rollup merge of #53747 - GuillaumeGomez:rustdoc-fixes, r=QuietMisdreavus
Rustdoc fixes

Fixes rustdoc not scrolling to given lines and invalid unstable display:

<img width="1440" alt="screen shot 2018-08-27 at 23 28 47" src="https://user-images.githubusercontent.com/3050060/44687252-06535e80-aa51-11e8-8512-d7d34d1cb963.png">

r? @QuietMisdreavus
2018-08-30 20:15:40 +02:00
Pietro Albini
eaca5f8649
Rollup merge of #53743 - oconnor663:target_env, r=kennytm
fix a typo: taget_env -> target_env

This typo was introduced in https://github.com/rust-lang/rust/pull/47334. A couple tests bitrotted as a result, so we fix those too, and move them to a more sensible place.

Is there some lint we could turn on that would've caught this? It's a drag that cfg typos can silently pass through the compiler.
2018-08-30 20:15:39 +02:00
Pietro Albini
d52fea8796
Rollup merge of #53740 - japaric:readobj, r=alexcrichton
add llvm-readobj to llvm-tools-preview

Similar to readelf but supports more object formats (it seems). Particularly useful to inspect in detail sections (e.g. their flags) and symbols (e.g. their types).

r? @alexcrichton
cc @dvc94ch
2018-08-30 20:15:38 +02:00
Pietro Albini
ed07680028
Rollup merge of #53732 - emilio:foreign-fn, r=nrc
save-analysis: Differentiate foreign functions and statics.
2018-08-30 20:15:37 +02:00
Pietro Albini
0334ce4488
Rollup merge of #53727 - estebank:incorrect-deref-suggestion, r=nikomatsakis
Do not suggest dereferencing in macro

Fix #52783.
2018-08-30 20:15:35 +02:00
Pietro Albini
3ee762870f
Rollup merge of #53702 - jkozlowski:correct_version_for_macro_vis_matcher, r=cramertj
Fix stabilisation version for macro_vis_matcher.

r? @cramertj
2018-08-30 20:15:34 +02:00
Pietro Albini
1535075b58
Rollup merge of #53655 - jcpst:with_applicability, r=estebank
set applicability

Update a few more calls as described in #50723

r? @estebank
2018-08-30 20:15:33 +02:00
Pietro Albini
1c36e76751
Rollup merge of #53513 - nnethercote:inline-shallow_resolve, r=varkor
Force-inline `shallow_resolve` at its hottest call site.

It's a ~1% win on `keccak` and `inflate`.
2018-08-30 20:15:31 +02:00
Pietro Albini
a245d9bbca
Rollup merge of #53476 - GuillaumeGomez:try-from-int-error-partial-eq, r=KodrAus
Add partialeq implementation for TryFromIntError type

Fixes #53458.
2018-08-30 20:15:30 +02:00
Pietro Albini
ba832707cf
Rollup merge of #53472 - eddyb:fx-pls, r=pnkfelix
Use FxHash{Map,Set} instead of the default Hash{Map,Set} everywhere in rustc.

Most of the compiler uses the `Fx` hasher but some places ended up with the default one.
2018-08-30 20:15:29 +02:00
Pietro Albini
0c8b8e8b42
Rollup merge of #53389 - RalfJung:thread-join, r=sfackler
document effect of join on memory ordering

Fixes https://github.com/rust-lang/rust/issues/45467
2018-08-30 20:15:27 +02:00
Pietro Albini
8505270077
Rollup merge of #53129 - nikomatsakis:issue-51172-tweak-test, r=pnkfelix
remove `let x = baz` which was obscuring the real error

fixes #51172
2018-08-30 20:15:26 +02:00
Pietro Albini
2531d43f19
Rollup merge of #53113 - kpp:more_docs_for_cow, r=GuillaumeGomez
Add example for Cow

Add one more example that shows how to keep `Cow` in a struct.

Link to playground: https://play.rust-lang.org/?gist=a9256bdd034b44bc3cdd0044bbcdbb7c&version=stable&mode=debug&edition=2015

Users ask this question in [ruRust](https://gitter.im/ruRust/general) chat time to time and it is not obvious to add `ToOwned<Owned=Target>` to requirements of generic params.
2018-08-30 20:15:25 +02:00
Pietro Albini
b7e74a5614
Rollup merge of #51760 - GuillaumeGomez:add-another-partialeq-example, r=QuietMisdreavus
Add another PartialEq example

r? @steveklabnik
2018-08-30 20:15:23 +02:00
bors
f8d34596ff Auto merge of #53803 - pietroalbini:fix-manifest-2, r=alexcrichton
Fix manifests for broken tools: take 2

This is a follow up of #53715, to avoid stripping unavailable components from the extensions list. This time I also figured out how to test the changes, so the produced manifest is correct.

Along with the fix I added a README with instructions on how to test the tool, and a new `BUILD_MANIFEST_DISABLE_SIGNING` env var to avoid dealing with gpg while testing the tool. I chose an env var instead of a flag because it's more difficult to have it slip in by accident on CI, and there is also another protection that panics if that env var is set on CI, just to be sure we don't release unsigned artifacts.

r? @alexcrichton
cc https://github.com/rust-lang-nursery/rustup.rs/issues/1486
2018-08-30 17:29:13 +00:00
Alex Crichton
b7a604ab34 rustbuild: Distribute libLLVM.so with rustc
A recent change (#53245) started to build LLVM with ThinLTO enabled and to
ensure that compile times are kept down it builds LLVM dynamically by default to
ensure that all the various LLVM tools aren't redoing all that optimization
work. This means, however, that all LLVM tools depend on LLVM's dynamic library
by default.

While the LLVM tools and LLDB components were updated to include the shared
library we accidentally forgot about LLD, included with the main rustc
component. LLD also links dynamically to LLVM and ships a non-working binary
right now because of this!

This commit updates our distribution to ship the LLVM dynamic library with the
compiler libraries.  While not technically needed for rustc itself to operate
(right now) it may be needed for LLD, and otherwise it serves as a good basis
for the other LLVM tools components to work with as well.

This should...

Closes #53813
2018-08-30 09:43:15 -07:00
bors
685fb54317 Auto merge of #53535 - TheDarkula:master, r=oli-obk
Made std::intrinsics::transmute() const fn.

r? @oli-obk

tracking issue: #53605
2018-08-30 14:18:22 +00:00
David Craven
8dfd5c39a1
[RISCV] Add riscv32imc-unknown-none-elf target. 2018-08-30 16:03:37 +02:00
David Craven
cd862a8ff3
[RISCV] Enable C extension. 2018-08-30 16:03:37 +02:00
David Craven
f00a952a3c
[RISCV] Use lld as the default linker. 2018-08-30 16:03:37 +02:00
Pietro Albini
38e2d00152
build-manifest: package docs only for tier 1 platforms 2018-08-30 14:41:01 +02:00
thedarkula
c5cae7935b Made std::intrinsics::transmute() const fn. 2018-08-30 13:06:20 +01:00
bors
0e98621e69 Auto merge of #53757 - oli-obk:validation, r=RalfJung
Use partial but correct vtable layout

r? @RalfJung who suggested to also do this change for nightly, not just beta
2018-08-30 10:41:41 +00:00
Andre Bogus
9dab56c4a2 fix u32 steps_between for 16-bit systems 2018-08-30 12:35:00 +02:00
Ralf Jung
97d693a19a assert sanity in memory 2018-08-30 11:39:40 +02:00
Basile Desloges
251f26298a Add regression test for issue #52060 2018-08-30 11:39:23 +02:00
Otto Rask
6020219993 Rephrase Arc documentation changes regarding clones
Make it clearer that `Arc::clone()` in fact creates a whole new
Arc with the internal pointer pointing to the same location as
the source Arc.
2018-08-30 12:20:41 +03:00
bors
03fe4c79f7 Auto merge of #53733 - nnethercote:avoid-unroll_place, r=nikomatsakis
Avoid calling `unroll_place()` in a common case.

This reduces the execution time for `ucd-check` by 25%.

r? @nikomatsakis
2018-08-30 08:20:20 +00:00
F001
7a083ca25f introduce Guard enum 2018-08-30 12:18:11 +08:00
bors
f1a5373a1b Auto merge of #53685 - alexcrichton:more-keywords, r=varkor
Generalize `async_idents` to all new keywords

This commit generalizes the existing `async_idents` lint to easily encompass
other identifiers that will be keywords in future editions. The new lint is
called `keyword_idents` and the old `async_idents` lint is registered as renamed
to this new lint.

As a proof of concept the `try` keyword was added to this list as it looks to be
listed as a keyword in the 2018 edition only. The `await` keyword was not added
as it's not listed as a keyword yet.

Closes #53077
2018-08-30 03:30:23 +00:00
bors
6244625cb4 Auto merge of #53479 - joshtriplett:underscore-means-unused, r=eddyb
Don't emit "unused extern crate" warnings for `extern crate foo as _;`

When importing a crate and renaming it to an underscore-prefixed name,
suppress "unused extern crate" warnings (but not idiom lints).
2018-08-30 00:07:15 +00:00