Commit Graph

67239 Commits

Author SHA1 Message Date
bors
23ade23cbc Auto merge of #44252 - eddyb:what-is-dead-may-never-die, r=nikomatsakis
Better StorageLive / StorageDead placement for constants.

Fixes problems in miri (see https://github.com/solson/miri/pull/324#issuecomment-326555552) caused by the new scope rules in #43932.
What I've tried to do here is always have a `StorageLive` but no `StorageDead` for `'static` slots.
It might not work perfectly in all cases, but it should unblock miri.

r? @nikomatsakis cc @oli-obk
2017-09-03 08:40:11 +00:00
bors
fc54bf949d Auto merge of #44195 - alexcrichton:remove-used-unsafe, r=nikomatsakis
rustc: Remove the `used_unsafe` field on TyCtxt

Now that lint levels are available for the entire compilation, this can be an
entirely local lint in `effect.rs`

cc #44137
2017-09-03 03:24:59 +00:00
bors
5e9431a6f5 Auto merge of #44176 - nrc:update-rls, r=alexcrichton
Update rls

And expose the `CFG_VERSION` env var to tools so they can determine the version of Rust.

This gets the RLS back on master and so completes the PR dance for the generators PR.

r? @alexcrichton
2017-09-03 00:51:47 +00:00
bors
6f667301e2 Auto merge of #44108 - mattico:match-pipe, r=petrochenkov
Implement RFC 1925

cc #44101
2017-09-02 22:22:54 +00:00
bors
744dd6c1d5 Auto merge of #44066 - cuviper:powerpc64-extern-abi, r=alexcrichton
powerpc64: improve extern struct ABI

These fixes all have to do with the 64-bit PowerPC ELF ABI for big-endian
targets.  The ELF v2 ABI for powerpc64le already worked well.

- Return after marking return aggregates indirect. Fixes #42757.
- Pass one-member float aggregates as direct argument values.
- Aggregate arguments less than 64-bit must be written in the least-
  significant bits of the parameter space.
- Larger aggregates are instead padded at the tail.
  (i.e. filling MSBs, padding the remaining LSBs.)

New tests were also added for the single-float aggregate, and a 3-byte
aggregate to check that it's filled into LSBs.  Overall, at least these
formerly-failing tests now pass on powerpc64:

- run-make/extern-fn-struct-passing-abi
- run-make/extern-fn-with-packed-struct
- run-pass/extern-pass-TwoU16s.rs
- run-pass/extern-pass-TwoU8s.rs
- run-pass/struct-return.rs
2017-09-02 19:46:51 +00:00
bors
204c0a47e7 Auto merge of #43886 - oli-obk:clippy, r=nrc
Add clippy as a submodule

~~This builds clippy as part of `./x.py build` (locally and in CI).~~

This allows building clippy with `./x.py build src/tools/clippy`

~~Needs https://github.com/nrc/dev-tools-team/issues/18#issuecomment-322456461 to be resolved before it can be merged.~~ Contributers can simply open a PR to clippy and point the submodule at the `pull/$pr_number/head` branch.

This does **not** build clippy or test the clippy test suite at all as per https://github.com/nrc/dev-tools-team/issues/18#issuecomment-321411418

r? @nrc

cc @Manishearth @llogiq @mcarton @alexcrichton
2017-09-02 17:17:14 +00:00
bors
8d83c1516c Auto merge of #44259 - Mark-Simulacrum:update-cargo, r=alexcrichton
Update cargo

This includes https://github.com/rust-lang/cargo/pull/4447 which fixes a bug in Cargo that is needed to fix https://github.com/rust-lang/rust/issues/44237.

r? @alexcrichton
2017-09-02 13:43:53 +00:00
bors
cc1fc8894b Auto merge of #44256 - GuillaumeGomez:update-html-diff-rs, r=Mark-Simulacrum
Update html-diff-rs version

r? @nrc
2017-09-02 11:07:49 +00:00
bors
efceda220e Auto merge of #44104 - llogiq:lowercase-lints, r=nikomatsakis
add a lowercase suggestion to unknown_lints

I recently wrote some tests for a clippy lint, copied the (uppercase) lint name into my test file and forgot to toggle the case. This PR adds a suggestion that would have saved me 10 minutes of debugging, so it's likely a net win 🙂 . Also it adds a UI test for the `unknown_lints` lint.
2017-09-02 08:38:12 +00:00
Mark Simulacrum
1b758fb6e3 Update cargo.
This includes https://github.com/rust-lang/cargo/pull/4447 which fixes
a bug in Cargo that is needed to fix
https://github.com/rust-lang/rust/issues/44237.
2017-09-01 21:15:47 -06:00
Josh Stone
40b14736a0 x86: return single-float aggregates in a float register
Following Clang's lead, and anecdotal evidence from the `float_one` part
of `run-make/extern-fn-struct-passing-abi`, use a floating point
register to return single-float aggregates, except on MSVC targets.
2017-09-01 18:21:29 -07:00
Josh Stone
f7c9704024 Exclude all windows-gnu from the float_one test 2017-09-01 18:21:29 -07:00
Josh Stone
afcc58abd3 Exclude x86_64-pc-windows-gnu from the float_one test 2017-09-01 18:21:29 -07:00
Josh Stone
a9bb599fb1 powerpc64: improve extern struct ABI
These fixes all have to do with the 64-bit PowerPC ELF ABI for big-endian
targets.  The ELF v2 ABI for powerpc64le already worked well.

- Return after marking return aggregates indirect. Fixes #42757.
- Pass one-member float aggregates as direct argument values.
- Aggregate arguments less than 64-bit must be written in the least-
  significant bits of the parameter space.
- Larger aggregates are instead padded at the tail.
  (i.e. filling MSBs, padding the remaining LSBs.)

New tests were also added for the single-float aggregate, and a 3-byte
aggregate to check that it's filled into LSBs.  Overall, at least these
formerly-failing tests now pass on powerpc64:

- run-make/extern-fn-struct-passing-abi
- run-make/extern-fn-with-packed-struct
- run-pass/extern-pass-TwoU16s.rs
- run-pass/extern-pass-TwoU8s.rs
- run-pass/struct-return.rs
2017-09-01 18:21:29 -07:00
Eduard-Mihai Burtescu
02ec0ae066 rustc_mir: always emit StorageLive even without a matching StorageDead. 2017-09-02 02:17:38 +03:00
Eduard-Mihai Burtescu
dc563efd98 rustc_mir: actually "promote" constants' MIR to 'static by removing StorageDead's. 2017-09-02 02:17:28 +03:00
Guillaume Gomez
7befbbc020 Update html-diff-rs version 2017-09-02 00:16:55 +02:00
Matt Ickstadt
22ca03bde6 Fix unstable book example 2017-09-01 16:16:36 -05:00
Matt Ickstadt
eb143c344e Fix arm visitor 2017-09-01 14:39:46 -05:00
Matt Ickstadt
f866152991 Implement RFC 1925 2017-09-01 12:46:37 -05:00
bors
f861b6ee46 Auto merge of #44154 - alexcrichton:bump-bootstrap, r=Mark-Simulacrum
Bump to 1.22.0 and update boostrap compiler

Time to get a new nightly!
2017-09-01 16:39:31 +00:00
Alex Crichton
271c63c189 Update git2-rs to fix cross compiles 2017-09-01 07:56:44 -07:00
bors
ed532c0d93 Auto merge of #44238 - nrc:pulldown-warn, r=@QuietMisdreavus
Improve the Pulldown/hoedown warnings

cc #44229

r? @QuietMisdreavus
2017-09-01 13:56:22 +00:00
bors
a59a6d8a56 Auto merge of #44171 - eddyb:scope, r=nikomatsakis
Use hir::ItemLocalId instead of ast::NodeId in rustc::middle::region::CodeExtent.

This is an alternative to @michaelwoerister's #43887, changing `CodeExtent` instead of `ReScope`.

The benefit here is that the same `Region`s are used same-crate and cross-crate, while preserving the incremental recompilation properties of the stable `hir::ItemLocalId`.

Only places which needed to get back to the `ast::NodeId` from `CodeExtent` was its `span` method, used in error reporting - passing the `&RegionMaps` down allowed using `hir_to_node_id`.
`rustc::cfg` and `dataflow` also had to be converted to `hir::ItemLocalId` because of their interactions with `CodeExtent`, especially in `borrowck`, and from that we have 3 more `hir_to_node_id` calls: `cfg::graphviz` node labels, `borrowck` move reporting, and the `unconditional_recursion` lint.

Out of all of those, *only* the lint actually makes a decision (on whether code will compile) based on the result of the conversion, the others only use it to know how to print information to the user.
So I think we're safe to say that the bulk of the code working with a `CodeExtent` is fine with local IDs.

r? @nikomatsakis
2017-09-01 10:40:18 +00:00
Eduard-Mihai Burtescu
e4996ec49c rustc: use hir::ItemLocalId instead of ast::NodeId in CodeExtent. 2017-09-01 11:18:31 +03:00
Eduard-Mihai Burtescu
ea6aca7726 rustc: take TyCtxt and RegionMaps in CodeMap::span. 2017-09-01 11:17:03 +03:00
Eduard-Mihai Burtescu
28ddd7a4ef rustc: use hir::ItemLocalId instead of ast::NodeId in CFG. 2017-09-01 11:17:03 +03:00
Nick Cameron
1d6d09fa6d Fix tests
This is just undoing changes from #41991 because we are not running markdown rendering twice.
2017-09-01 20:07:04 +12:00
bors
45d31e7310 Auto merge of #44233 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 10 pull requests

- Successful merges: #44192, #44199, #44202, #44203, #44205, #44207, #44209, #44223, #44230, #44231
- Failed merges:
2017-09-01 04:50:00 +00:00
Nick Cameron
fbb1612846 Windows line endings 2017-09-01 16:15:25 +12:00
Nick Cameron
abc0530279 Do a better job of eliding whitespace-only differences from warnings 2017-09-01 15:34:44 +12:00
Nick Cameron
1a8aac3f02 Improve the appearance of markdown warnings 2017-09-01 15:34:26 +12:00
Alex Crichton
9e5a7e9472 Bring back stage0 allocator logic on MSVC
I think there may still be bugs preventing its removal..
2017-08-31 18:20:52 -07:00
Nick Cameron
9ab20a3865 rustdoc: collect rendering warnings and print them in one place 2017-09-01 12:24:26 +12:00
Mark Simulacrum
81fc0e1150 Rollup merge of #44231 - lukaramu:patch-1, r=alexcrichton
Fix release notes on associated constants

Associated constants seem to be stable everywhere, not just in traits
2017-08-31 18:07:49 -06:00
Mark Simulacrum
88ee66d3c2 Rollup merge of #44230 - Phlosioneer:patch-1, r=sfackler
Fix typo in 1.20.0 release notes

str::from_boxed_utf8_unchecked rather than ste::
2017-08-31 18:07:48 -06:00
Mark Simulacrum
9c4bdd3b87 Rollup merge of #44223 - eddyb:symbol-from-str, r=jseyfried
Implement From<&str> for Symbol.

This lets us have `fn foo<S: Into<Symbol>>` bounds and accept both `&str` and existing `Symbol`s.

r? @jseyfried
2017-08-31 18:07:47 -06:00
Mark Simulacrum
3cd4ea3bfa Rollup merge of #44209 - frewsxcv:frewsxcv-addr-other-scenarios, r=alexcrichton
Expand docs of multi-address behavior of some UDP/TCP APIs.

Fixes https://github.com/rust-lang/rust/issues/22569.
2017-08-31 18:07:46 -06:00
Mark Simulacrum
4b2d568e72 Rollup merge of #44207 - durka:define-maps-fn, r=eddyb
add `fn` to syntax of rustc::ty::maps::define_maps

This is not a functional change, it just makes it possible to find a query by grepping without knowing that it's a query rather than a function.

I didn't pursue renaming everything from "map" to "query" because it seems to be a very invasive change. It would be a good test to exercise an IDE's renaming features.

Closes #44161

r? @eddyb
2017-08-31 18:07:45 -06:00
Mark Simulacrum
471f9894c9 Rollup merge of #44205 - frewsxcv:frewsxcv-addr-doc-fix, r=QuietMisdreavus
Fix typo in doc `ToSocketAddrs` example.

None
2017-08-31 18:07:44 -06:00
Mark Simulacrum
b66823fb4d Rollup merge of #44203 - cuviper:compiler-rt-test, r=Mark-Simulacrum
rustbuild: update the rust-src filter for compiler-rt

We wanted `src/compiler-rt/test` filtered from the `rust-src` package,
but that path is now `src/libcompiler_builtins/compiler-rt/test`.  This
saves over half of the installed rust-src size. (50MB -> 22MB)
2017-08-31 18:07:43 -06:00
Mark Simulacrum
f3b7197384 Rollup merge of #44202 - alexcrichton:xcrate-generators, r=arielb1
rustc: Fix reachability with cross-crate generators

Same solution as in f2df1857

Closes #44181
2017-08-31 18:07:42 -06:00
Mark Simulacrum
5f00b10b1c Rollup merge of #44199 - jakllsch:jakllsch-abcc6c4a-0caf-4d30-b336-39629c73d3f5, r=sfackler
bootstrap: add openssl configuration mapping for i686-unknown-netbsd
2017-08-31 18:07:41 -06:00
Mark Simulacrum
fd5a945727 Rollup merge of #44192 - GuillaumeGomez:sub-fields-style, r=QuietMisdreavus
Fix invalid display of enum sub-fields docs

Before:

<img width="1440" alt="screen shot 2017-08-30 at 23 17 00" src="https://user-images.githubusercontent.com/3050060/29895433-61f2bf8c-8dd9-11e7-83e8-cf1dca878100.png">

After:

<img width="1440" alt="screen shot 2017-08-30 at 23 16 48" src="https://user-images.githubusercontent.com/3050060/29895441-66dea042-8dd9-11e7-9576-11b0c770c70b.png">

cc @nox @rust-lang/docs
2017-08-31 18:07:40 -06:00
bors
69dbe6602d Auto merge of #43425 - matklad:lambda-restrictions, r=eddyb
Lambda expressions honor no struct literal restriction

This is a fix for #43412 if we decide that it is indeed a bug :)

closes #43412
2017-08-31 23:26:47 +00:00
Nick Cameron
a5f50a9dee Only emit warnings if the user is using Pulldown
Also checks for differences after eliminating whitespace-only diffs.

Renames get_html_diff
2017-09-01 11:22:18 +12:00
Lukas H
f575185f39 Fix release note on associated constants
Associated constants seem to be stable everywhere, not just in traits
2017-09-01 01:17:08 +02:00
Phlosioneer
945ba85019 Fix typo in 1.20.0 release notes
str::from_boxed_utf8_unchecked rather than ste::
2017-08-31 19:12:07 -04:00
Eduard-Mihai Burtescu
9988e798c0 Implement From<&str> for Symbol. 2017-08-31 23:23:52 +03:00
Andre Bogus
ba643fadfe add a lowercase suggestion to unknown_lints 2017-08-31 22:18:12 +02:00