Commit Graph

69103 Commits

Author SHA1 Message Date
Niko Matsakis
165cbce1cc fix nits 2017-10-16 17:32:23 -04:00
Niko Matsakis
09caa12a51 add some tips to CONTRIBUTING.md to help with debugging this problem 2017-10-16 17:32:22 -04:00
Niko Matsakis
47449ea513 add a function for testing if a ty is uninhabited from all modules
Desired by miri.
2017-10-16 17:32:22 -04:00
Niko Matsakis
0f568e2f34 convert constant promotion into a query 2017-10-16 17:32:22 -04:00
Niko Matsakis
807e157b4c invoke const only on body-ids 2017-10-16 17:32:22 -04:00
Niko Matsakis
5c26509405 restructure the public inhabitedness APIs and remove the cache
The cache was broken anyhow and this computation doesn't look that
expensive. These public accessors could potentially become queries,
but we'd have to add some more complex logic around lift. I'd prefer
to have some test cases to profile with before doing that.

Fixes #44402.
2017-10-16 17:32:21 -04:00
bors
5618aba380 Auto merge of #44857 - toidiu:ak-44493-empty-predicate, r=nikomatsakis
#44493 add structure for inferred_outlives_of

#44493

- add placeholder for the final implementation of inferred_outlives_of
- add some placeholder tests
2017-10-16 21:29:54 +00:00
Josh Stone
6f33108e4d bootstrap: update and enable the LLVM version-check
While the `config.toml.example` comments say "we automatically check the
version by default," we actually didn't.  That check was badly out of
date, only allowing 3.5, 3.6, or 3.7.  This it now updated to the new
3.9 minimum requirement, and truly enabled by default.
2017-10-16 13:10:16 -07:00
Josh Stone
7538a9b8af Update the codegen/mainsubprogram tests to min-llvm 4.0
The necessary changes were only in upstream LLVM in 4.0, but they were
for a while backported to Rust LLVM.  Now that Rust LLVM is also 4.0, we
can make the test conditional here more accurate.
2017-10-16 13:10:16 -07:00
Josh Stone
68311bdf2b Bump the minimum LLVM to 3.9
Old LLVM bugs are reportedly cropping up harder, but 3.9 seems to be OK.

Fixes #45277.
2017-10-16 13:10:16 -07:00
Niv Kaminer
094c2ae16c revert change to function_sections for windows 2017-10-16 22:59:05 +03:00
Guillaume Gomez
11b2b08ba9 Display rustdoc pulldown switch warnings everytime 2017-10-16 21:41:10 +02:00
Zack M. Davis
8e6ed1203b bolster UI test converage for lint suggestions 2017-10-16 12:14:15 -07:00
bors
4e9527cf6f Auto merge of #45243 - alexcrichton:tool-rls-rustfmt, r=Mark-Simulacrum
rustbuild: Allow setting rls/rustfmt to "broken"

This commit enables configuring the RLS/rustfmt tools to the "broken" state and
actually get it past CI. The main changes here were to update all dist-related
code to handle the situation where the RLS isn't available. This in turn
involved a homegrown preprocessor-like-function to edit the configuration files
we pass to the various combined installer tools.
2017-10-16 18:52:16 +00:00
toidiu
98c6e0a02d fix function name 2017-10-16 14:26:18 -04:00
toidiu
ce754ba476 add a new dep node for outlives 2017-10-16 14:26:18 -04:00
toidiu
fe5cb1a517 add error to the correct line in unit test 2017-10-16 14:26:17 -04:00
toidiu
c021e5303f add a test case
dont duplicate error codes

choose unlikely error code

specify error pattern in test
2017-10-16 14:26:17 -04:00
toidiu
ba1efa3b61 added components for testing. added outlives test to the check_crate function of librustc_typeck 2017-10-16 14:26:17 -04:00
toidiu
7c8a7221a4 create a seperate module for outlives. added a query for inferred_outlives. setup some files for upcoming tests 2017-10-16 14:26:11 -04:00
toidiu
32b968ce44 add inferred_outlives_of query 2017-10-16 14:24:59 -04:00
toidiu
f01ee857a3 return an empty inferred_outlives_of 2017-10-16 14:24:59 -04:00
Zack M. Davis
38e5a964f2 code suggestions for no-mangle lints
At reviewer's suggestion, we remove the function/static name from the
main lint message. While we're correspondingly adjusting the
expectations of a compile-fail test, we remove an obsolete FIXME
comment, another quantum of progress towards resolving the fabulous
metabug #44366.
2017-10-16 11:19:18 -07:00
Zack M. Davis
f98939c6fd code suggestion for non-shorthand field patterns lint
We also edit the lint description to clarify that this is different from
the struct field init shorthand.
2017-10-16 11:19:18 -07:00
Zack M. Davis
e596c1d0b8 remove an obsolete FIXME comment
This comment made sense when it was introduced in fbef2417. It does not
make sense in its current context, where the referred-to guard is no
longer present.

This being an item under the fabulous metabug #44366.
2017-10-16 11:19:18 -07:00
Alex Crichton
5050dadfc6 rustbuild: Allow setting rls/rustfmt to "broken"
This commit enables configuring the RLS/rustfmt tools to the "broken" state and
actually get it past CI. The main changes here were to update all dist-related
code to handle the situation where the RLS isn't available. This in turn
involved a homegrown preprocessor-like-function to edit the configuration files
we pass to the various combined installer tools.
2017-10-16 09:06:51 -07:00
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
Michael Woerister
27b6c9174d Update crate hashes in mir-opt test after changing hash algorithm. 2017-10-16 17:32:38 +02: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
Michael Woerister
10e289e191 Make debuginfo::UniqueTypeId use 128 bit hash. 2017-10-16 14:44:40 +02:00
Michael Woerister
74ebad4b63 Use SipHasher128 in StableHasher. 2017-10-16 14:44:40 +02:00
Michael Woerister
25014b5379 rustc_data_structures: Add implementation of 128 bit SipHash. 2017-10-16 14:44:40 +02: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
Geoffry Song
57f03ea5ff Mark block exits as reachable if the block can break. 2017-10-15 21:19:00 -07: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
Bryan Tan
f67f6622b3 Create section on how to spawn processes; change module description 2017-10-15 19:45:07 -07: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
Bryan Tan
bb74b13b74 Fix std::process hello world example 2017-10-15 13:11:14 -07: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