Commit Graph

68803 Commits

Author SHA1 Message Date
bors
ba4e8d7db3 Auto merge of #45202 - alexcrichton:fix-inline-always, r=michaelwoerister
rustc: Handle #[inline(always)] at -O0

This commit updates the handling of `#[inline(always)]` functions at -O0 to
ensure that it's always inlined regardless of the number of codegen units used.

Closes #45201
2017-10-16 16:02:43 +00:00
Alex Crichton
978349ea43 ci: Update Travis OSX builders
Looks like Travis [has announced][blog] that our current `xcode8.2` image is
being deprecated and the recommended Xcode 7 image is `xcode7.3`. This updates
us to these ahead of time to make sure we can shake out any bugs, if any.

[blog]: https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming
2017-10-16 08:27:03 -07:00
Niv Kaminer
90f6bc0bc7 turn link to RFC 1751 into a markdown link 2017-10-16 14:25:33 +00:00
Niko Matsakis
a5673de454 refactor inhabitedness to have clearer public entry points 2017-10-16 08:41:29 -04:00
bors
a96ff3b591 Auto merge of #45293 - joeratt:patch-1, r=kennytm
Add "Buidling on *nix" sub-header

Since there is a "Build on Windows" section, a simple sub-header here would help Windows users to know they need to keep reading.
2017-10-16 11:54:31 +00:00
gnzlbg
6020f30335 introduce a whitelist for aarch64 2017-10-16 13:33:43 +02:00
bors
abe7c87eef Auto merge of #45297 - matthewjasper:associated-item-namespaces, r=petrochenkov
Check namespaces when resolving associated items in typeck

Closes #35600
Closes #44247
Fixes a "cannot move a value of type..." error in the same case as #44247 but with the associated items swapped.
2017-10-16 06:40:04 +00:00
bors
fdec805d03 Auto merge of #45283 - alexcrichton:used-mut-nodes, r=arielb1
rustc: Remove `used_mut_nodes` from `TyCtxt`

This updates the borrowck query to return a result, and this result is then used
to incrementally check for unused mutable nodes given sets of all the used
mutable nodes.

Closes #42384
2017-10-16 03:02:05 +00:00
Zack M. Davis
696612c02f don't issue "expected statement after outer attr." after inner attr.
While an inner attribute here is in fact erroneous, that error ("inner
attribute is not permitted in this context") successfully gets set earlier;
this further admonition is nonsensical.

Resolves #45296.
2017-10-15 19:41:12 -07:00
bors
9223c39dc5 Auto merge of #45191 - petrochenkov:yesar, r=Mark-Simulacrum
rustbuild: Support specifying archiver and linker explicitly

With this patch `x.py test` passes without toolchain being in `PATH` if `cc`, `cxx`, `ar`, `linker` and `gdb` are specified in `config.toml` (except for a few `run-make` tests using `nm`).

Fixes https://github.com/rust-lang/rust/issues/41821
r? @Mark-Simulacrum
2017-10-16 00:32:21 +00:00
Vadim Petrochenkov
0577b60832 Re-enable linker override for cross-compilation 2017-10-16 03:22:17 +03:00
Vadim Petrochenkov
89d9ce4ec3 Don't use target's linker when linking build scripts 2017-10-15 23:23:28 +03:00
bors
29ed49fb0a Auto merge of #45215 - alexcrichton:thin-lto-reference-more, r=michaelwoerister
rustc: Fix some ThinLTO internalization

First the `addPreservedGUID` function forgot to take care of "alias" summaries.
I'm not 100% sure what this is but the current code now matches upstream. Next
the `computeDeadSymbols` return value wasn't actually being used, but it needed
to be used! Together these should...

Closes #45195
2017-10-15 20:07:35 +00:00
Geoffry Song
045916603e Add test for #40003. 2017-10-15 12:58:05 -07:00
Jimmy Brisson
549f8553dc Refactor ensure and try_get_with into read_node_index
There was a bit of code shared between `try_get_with` and `ensure`, after I
added `ensure`. I refactored that shared code into a query-agnostic method
called `read_node_index`.

The new method `read_node_index` will attempt to find the node
index (`DepNodeIndex`) of a query. When `read_node_index` finds the
`DepNodeIndex`, it marks the current query as a reader of the node it's
requesting the index of.

This is used by `try_get_with` and `ensure` as it elides the unimportant (to
them) details of if the query is invalidated by previous changed computation (Red)
or new and if they had to mark the query green. For both `try_get_with` and
`ensure`, they just need to know if they can lookup the results or have to
reevaluate.
2017-10-15 14:36:07 -05:00
Vadim Petrochenkov
9e0fc5ccd0 rustbuild: Support specifying archiver and linker explicitly 2017-10-15 22:10:07 +03:00
bors
c4f489af91 Auto merge of #44613 - QuietMisdreavus:rustdoc-perf, r=michaelwoerister
some low-hanging rustdoc optimizations

There were a few discussions earlier today in #rust-internals about the syscall usage and overall performance of rustdoc. This PR is intended to pick some low-hanging fruit and try to rein in some of the performance issues of rustdoc.
2017-10-15 17:48:12 +00:00
gnzlbg
3bd9d62963 aarch64 is not whitelisted for ARM features 2017-10-15 19:09:25 +02:00
Alex Crichton
2e1c4cd0f5 rustc: Fix some ThinLTO internalization
First the `addPreservedGUID` function forgot to take care of "alias" summaries.
I'm not 100% sure what this is but the current code now matches upstream. Next
the `computeDeadSymbols` return value wasn't actually being used, but it needed
to be used! Together these should...

Closes #45195
2017-10-15 08:41:26 -07:00
Danilo Bargen
fdb3e37126 Rustdoc book: Add missing headlines
Some options were missing headlines, which looked a bit inconsistent.
2017-10-15 17:02:45 +02:00
Danilo Bargen
b7d378a94c Fix typo in rustdoc book 2017-10-15 16:59:54 +02:00
bors
2689fd2402 Auto merge of #45228 - theotherjimmy:ensure-query, r=michaelwoerister
incr.comp.: Introduce `ensure` and `ensure` typeck_tables_of

Resolves #45210

In this Pull Request we introduce the `ensure` query/function. `ensure` has the
semantics and type of the function `Q1` below:
```rust
fn Q1::ensure(K){
    Q(K);
}
```
Further, `ensure` avoids the need to load the result from disk (or execute the
provider, if we are not storing the results of Q to disk).

@nikomatsakis
2017-10-15 14:00:39 +00:00
bors
df095cefe2 Auto merge of #45123 - goffrie:fix-method-unit-call, r=oli-obk
Provide the full span of method calls to `check_argument_types`

... so that it includes the span of the passed arguments, not just the name of the called method.

Fixes #44760.
2017-10-15 11:31:46 +00:00
matthewjasper
b522ee15ce Check namespaces when resolving associated items in typeck 2017-10-15 11:58:32 +01:00
bors
8382f39b6b Auto merge of #45299 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

- Successful merges: #45113, #45250, #45255, #45258, #45263, #45264, #45269, #45280, #45289
- Failed merges:
2017-10-15 08:39:58 +00:00
kennytm
5ebad25b08 Rollup merge of #45289 - GuillaumeGomez:fix-doc-help, r=kennytm
Fix arrow display

Before:

<img width="1440" alt="screen shot 2017-10-14 at 18 36 18" src="https://user-images.githubusercontent.com/3050060/31577437-a81510e8-b10e-11e7-8249-cf074bb0f59a.png">

After:

<img width="1440" alt="screen shot 2017-10-14 at 18 36 12" src="https://user-images.githubusercontent.com/3050060/31577436-a7fc0eea-b10e-11e7-96d7-6dc2916ef72f.png">

r? @rust-lang/docs
2017-10-15 14:21:59 +08:00
kennytm
1effcb0def Rollup merge of #45280 - GuillaumeGomez:fix-mobile-search, r=kennytm
Remove terribly useless and problematic margin when searching on mobile

Before:

<img width="1440" alt="screen shot 2017-10-14 at 15 56 09" src="https://user-images.githubusercontent.com/3050060/31576308-54af4e48-b0f8-11e7-9e2e-375febbb87b2.png">

After:

<img width="1440" alt="screen shot 2017-10-14 at 15 55 52" src="https://user-images.githubusercontent.com/3050060/31576304-5216ae74-b0f8-11e7-88a0-f53f293f5499.png">

r? @rust-lang/docs
2017-10-15 14:21:58 +08:00
kennytm
f55cb4856b Rollup merge of #45269 - sfackler:connect-timeout-fix, r=alexcrichton
Fix TcpStream::connect_timeout on linux

Linux appears to set POLLOUT when a conection's refused, which is pretty
weird. Invert the check to look for an error explicitly. Also add an
explict test for this case.

Closes #45265.

r? @alexcrichton
2017-10-15 14:21:57 +08:00
kennytm
a793372d8c Rollup merge of #45264 - 0xAX:fix-typo-bootstrap-readm, r=kennytm
fix typo in src/bootstrap/README.md
2017-10-15 14:21:56 +08:00
kennytm
5e8d407c31 Rollup merge of #45263 - Manishearth:hashmap-clean, r=bluss
Do some cleanups for hashmaps

@mystor noticed some things whilst reading through the hashmap RawTable code.

Firstly, in RawTable we deal with this hash_offset value that is the offset of the list of hashes from the buffer start. This is always zero, and this isn't consistently used (which means that we would have bugs if we set it to something else). We should just remove this since it doesn't help us at all.

Secondly, the probing length tag is not copied when cloning a raw table. This is minor and basically means we do a bit more work than we need on further inserts on a cloned hashmap.

r? @Gankro
2017-10-15 14:21:55 +08:00
kennytm
34a286bf90 Rollup merge of #45258 - hdhoang:master, r=alexcrichton
compiletest/runtest: format ErrorKind with Display

The strings are nouns for the most part, so we give ErrorKind::Help a
more sensible string. This reduces quote hiccups in failure output.

unexpected "error": '...'
↓
unexpected error: '...'
2017-10-15 14:21:54 +08:00
kennytm
e598ac9872 Rollup merge of #45255 - bgermann:master, r=alexcrichton
Make Solaris builder compatible with Solaris 10

Would it be possible to get this in the next 1.22.0 beta?
2017-10-15 14:21:53 +08:00
kennytm
b6f4cea79d Rollup merge of #45250 - brauliobz:non-ascii-idents-details, r=steveklabnik
Moved details of unstable non-ascii identifiers from the Reference

Moved details of unstable non-ascii identifiers from the Reference to the Unstable book

r? @steveklabnik
2017-10-15 14:21:52 +08:00
kennytm
430ac4ba50 Rollup merge of #45113 - Pirh:process_output_links, r=steveklabnik
Link std::process::Output to Command and Child

As per #29370
2017-10-15 14:21:51 +08:00
bors
6c0d50f9fa Auto merge of #45224 - malbarbo:x32, r=alexcrichton
Add x86_64-unknown-linux-gnux32 target

This adds X32 ABI support for Linux on X86_64. Let's package and dist it so we can star testing libc, libstd, etc.

Fixes https://github.com/rust-lang/rfcs/issues/1339
2017-10-15 06:12:13 +00:00
bors
f5eb33f4e5 Auto merge of #45200 - mikhail-m1:match-with-false-edges, r=nikomatsakis
MIR-borrowck: add false edges to match arms

basic fix for https://github.com/rust-lang/rust/issues/45043, should be modified with #45184
2017-10-15 02:20:13 +00:00
bors
a457e29811 Auto merge of #44867 - kennytm:rustdoc-md-test-title, r=alexcrichton
doc-test: In Markdown tests, Use all of `<h1>` to `<h6>` as the test name

This mainly simplifies debugging error index tests, as the error codes are `<h2>`s in the huge document containing all codes.
2017-10-14 23:07:35 +00:00
Joe Rattazzi
6500b3d069 Add "Buidling on *nix" sub-header 2017-10-14 16:59:58 -05:00
Steven Fackler
cab99a3f8c Fix TcpStream::connect_timeout on linux
Linux appears to set POLLOUT when a conection's refused, which is pretty
weird. Invert the check to look for an error explicitly. Also add an
explict test for this case.

Closes #45265.
2017-10-14 13:56:30 -07:00
Jacob Wahlgren
47ea51e4e5 Improve E0382 extended help message
Mention Clone and refererences, and use more realistic examples (within
the constraints of a few lines :).
2017-10-14 21:27:41 +02:00
bors
7778906bee Auto merge of #45177 - oli-obk:clippy, r=alexcrichton
Enable building clippy in CI

r? @alexcrichton

As discussed at Rustfest. Measured additional time is 4 minutes on my machine if no dependencies are shared with other tools. In reality most dependencies are shared (especially the slow to compile ones like serde).

cc @Manishearth

Does not run clippy's test suite, since

a) it is nontrivial in the rustc build system
b) it breaks more frequently but the breakage is negligible

If clippy breaks, the procedure to follow is documented under https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#external-dependencies
2017-10-14 18:48:08 +00:00
Guillaume Gomez
c6ce067216 Hide help when search bar is focused 2017-10-14 18:46:29 +02:00
Guillaume Gomez
5acc185cee Fix arrow display 2017-10-14 18:35:54 +02:00
Alex Crichton
4df1278c69 rustc: Remove used_mut_nodes from TyCtxt
This updates the borrowck query to return a result, and this result is then used
to incrementally check for unused mutable nodes given sets of all the used
mutable nodes.

Closes #42384
2017-10-14 09:29:02 -07:00
Guillaume Gomez
f44232688e Save current highlighted item in search tab 2017-10-14 18:24:27 +02:00
Guillaume Gomez
45bb03f60c Save selected search tab 2017-10-14 18:15:20 +02:00
bors
7920a7cc74 Auto merge of #45175 - petrochenkov:dyn, r=nikomatsakis
Implement `dyn Trait` syntax (RFC 2113)

cc https://github.com/rust-lang/rust/issues/44662
r? @nikomatsakis
2017-10-14 16:11:05 +00:00
Manish Goregaokar
e8e7715beb
std: Set probe length tag on cloned hashmaps
This isn't strictly necessary for hashmap cloning to work. The tag is
used to hint for an upcoming resize, so it's good to copy this
information over.

(We can do cleverer things like actually resizing the hashmap when we
see the tag, or even cleaning up the entry order, but this requires
more thought and might not be worth it)
2017-10-14 10:21:52 -04:00
Manish Goregaokar
bb9e850246
std: Get rid of hash_offet in RawTable
This offset is always zero, and we don't consistently take it into
account. This is okay, because it's zero, but if it ever changes we're
going to have bugs (e.g. in the `dealloc` call, where we don't take it
into account).

It's better to remove this for now; if we ever have a need for a
nonzero offset we can add it back, and handle it properly when we do so.
2017-10-14 10:21:50 -04:00
Guillaume Gomez
c729e4dca7 Remove terribly useless and problematic margin when searching on mobile 2017-10-14 15:55:33 +02:00