Commit Graph

68891 Commits

Author SHA1 Message Date
Alex Crichton
3541ffb668 rustc: Add _imp_ symbols later in compilation
On MSVC targets rustc will add symbols prefixed with `_imp_` to LLVM modules to
"emulate" dllexported statics as that workaround is still in place after #27438
hasn't been solved otherwise. These statics, however, were getting gc'd by
ThinLTO accidentally which later would cause linking failures.

This commit updates the location we add such symbols to happen just before
codegen to ensure that (a) they're not eliminated by the optimizer and (b) the
optimizer doesn't even worry about them.

Closes #45347
2017-10-18 07:01:29 -07:00
bors
fc208bb62c Auto merge of #44573 - dotdash:dbg_bloat, r=arielb1
Avoid unnecessary allocas for indirect function arguments

The extra alloca was only necessary because it made LLVM implicitly
handle the necessary deref to get to the actual value. The same happens
for indirect arguments that have the byval attribute. But the Rust ABI
does not use the byval attribute and so we need to manually add the
deref operation to the debuginfo.
2017-10-18 13:36:17 +00:00
Ariel Ben-Yehuda
0caba178df run EndRegion when unwinding otherwise-empty scopes
Improves #44832

borrowck-overloaded-index-move-index.rs - fixed
borrowck-multiple-captures.rs - still ICE
borrowck-issue-2657-1.rs - fixed
borrowck-loan-blocks-move.rs - fixed
borrowck-move-from-subpath-of-borrowed-path.rs - fixed
borrowck-mut-borrow-linear-errors.rs - still ICE
borrowck-no-cycle-in-exchange-heap.rs - fixed
borrowck-unary-move.rs - fixed
borrowck-loan-blocks-move-cc.rs - fixed
borrowck-vec-pattern-element-loan.rs - still broken
2017-10-18 14:11:06 +03:00
Björn Steinbrink
6bfecd41cc Avoid unnecessary allocas for indirect function arguments
The extra alloca was only necessary because it made LLVM implicitly
handle the necessary deref to get to the actual value. The same happens
for indirect arguments that have the byval attribute. But the Rust ABI
does not use the byval attribute and so we need to manually add the
deref operation to the debuginfo.
2017-10-18 12:58:15 +02:00
bors
7a4f39453c Auto merge of #44501 - nikomatsakis:issue-44137-non-query-data-in-tcx, r=eddyb
remove or encapsulate the remaining non-query data in tcx

I wound up removing the existing cache around inhabitedness since it didn't seem to be adding much value. I reworked const rvalue promotion, but not that much (i.e., I did not split the computation into bits, as @eddyb had tossed out as a suggestion). But it's now demand driven, at least.

cc @michaelwoerister -- see the `forbid_reads` change in last commit

r? @eddyb -- since the trickiest of this PR is the work on const rvalue promotion

cc #44137
2017-10-18 10:44:08 +00:00
Josh Stone
9fda05c0bc rustdoc: add a primitive page for "unit"
In `src/libstd/primitive_docs.rs`, a `#[doc(primitive = "unit")]`
section has sat long neglected.  This patch teaches rustdoc to recognize
"unit", and steals its trait implementations away from the tuple page.
2017-10-17 23:03:50 -07:00
Christian Poveda
2a889eb945 added non trivial examples of closures for str::find 2017-10-17 23:51:27 -05:00
Sunjay Varma
790604adad Updating the instructions for when a tool breaks to use the new toolstate feature 2017-10-17 23:05:45 -04:00
Sunjay Varma
3f90c3a2cf Added a section about updating submodules
The process for updating rustfmt is quite involved because of the way everything is configured. This section covers the steps for updating rustfmt and rationale behind them.
2017-10-17 23:05:45 -04:00
Sunjay Varma
bd4907d534 Documenting the process for when rustfmt/rls breakk because of your changes 2017-10-17 23:05:45 -04:00
Sunjay Varma
60bff8ce93 Marking the tools as broken 2017-10-17 22:15:34 -04:00
Sunjay Varma
693687187e Revert "Updated to latest rustfmt-nightly"
This reverts commit a49157dc30bf7a163200b10d63a71b005a1376e3.
2017-10-17 22:14:14 -04:00
Sunjay Varma
14c426da99 Removed Generics from FnKind::ItemFn in libsyntax 2017-10-17 22:14:14 -04:00
Sunjay Varma
86ae34900f Updated to latest rustfmt-nightly 2017-10-17 22:14:14 -04:00
Sunjay Varma
b43db76d36 Fixing rustdoc 2017-10-17 22:14:14 -04:00
Sunjay Varma
2095ac1e27 Fixed tidy errors 2017-10-17 22:14:14 -04:00
Sunjay Varma
bb30144605 Lifted generics into TraitItem and ImplItem from MethodSig -- HIR now matches AST 2017-10-17 22:14:14 -04:00
Sunjay Varma
892e4689ef Removed redundant generics visits 2017-10-17 22:14:14 -04:00
Sunjay Varma
e03447dae3 Fixed tidy errors 2017-10-17 22:14:14 -04:00
Sunjay Varma
f61394f0bd Lifting Generics from MethodSig to TraitItem and ImplItem since we want to support generics in each variant of TraitItem and ImplItem 2017-10-17 22:14:14 -04:00
Alex Crichton
d9ecdfe3a7 test: Update Emscripten failures/passing
All tests should now have annotation for *why* they're ignored on emscripten. A
few tests no longer need such an annotation as well!

Closes #41299
2017-10-17 18:46:38 -07:00
Christian Poveda
da7aab6e51 added examples of closures 2017-10-17 20:11:03 -05:00
steveklabnik
045ce183cc modify tests to use new flag 2017-10-17 15:38:52 -04:00
Ariel Ben-Yehuda
a6ca84a383 look past the next drop for the drop panic target
The previous code would leak data on a drop panic if the immediate next
drop was a StorageDead that was followed by another drop.
2017-10-17 21:37:18 +03:00
Niko Matsakis
7715f97279 break clippy 2017-10-17 11:24:52 -04:00
Niko Matsakis
0e67d17358 make erase_regions use a query instead of an ad-hoc cache 2017-10-17 11:24:46 -04:00
Santiago Pastorino
b8f981a149 Generate FirstStatementIndex using newtype_index macro 2017-10-17 12:06:20 -03:00
bors
f6d7514545 Auto merge of #45344 - kennytm:rollup, r=kennytm
Rollup of 10 pull requests

- Successful merges: #45097, #45151, #45307, #45308, #45310, #45315, #45321, #45329, #45338, #45339
- Failed merges:
2017-10-17 14:57:33 +00:00
steveklabnik
aad8787586 Create a new flag, --document-private-items
Fixes #44136
2017-10-17 10:54:27 -04:00
steveklabnik
4adf6aed69 Deprecate several flags in rustdoc
Part of #44136

Upgrades cargo due to https://github.com/rust-lang/cargo/pull/4451
2017-10-17 10:54:27 -04:00
bgermann
0597bdabff Remove tabs 2017-10-17 16:39:15 +02:00
Havvy
12873006f6 List of all lang items in unstable book. 2017-10-17 07:22:08 -07:00
kennytm
7f72b31165 Rollup merge of #45339 - xfix:patch-4, r=steveklabnik
Update array documentation for Clone trait changes

Just a note, for this to work, `T` doesn't have to `Copy`, `Clone` is sufficient. For instance, the following works.

```rust
fn x(a: &[String; 100]) -> [String; 100] {
    a.clone()
}
```
2017-10-17 22:21:05 +08:00
kennytm
e72c2a8299 Rollup merge of #45338 - ishitatsuyuki:boot-jemalloc, r=aidanhs
bootstrap: Avoid fetching jemalloc if it's disabled

Fix #45300

More conditions, more madness :) Tested locally.
2017-10-17 22:21:04 +08:00
kennytm
78080f11ad Rollup merge of #45329 - rust-lang:duplicate-word, r=QuietMisdreavus
Remove duplicated word

r? @rust-lang/docs
2017-10-17 22:21:03 +08:00
kennytm
b80bcadd01 Rollup merge of #45321 - alexcrichton:xcodeup, r=aidanhs
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-17 22:21:02 +08:00
kennytm
87729fcdba Rollup merge of #45315 - zackmdavis:expected_statement_after_outer_attr_after_inner_attr, r=petrochenkov
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-17 22:21:01 +08:00
kennytm
16167cbf73 Rollup merge of #45310 - gnzlbg:fix_aarch64, r=pnkfelix
aarch64 is not whitelisted for ARM features

This prevents the target feature `neon` from being enabled on aarch64.
2017-10-17 22:21:00 +08:00
kennytm
2ff1ad08ad Rollup merge of #45308 - dbrgn:headlines, r=steveklabnik
Rustdoc book: Add missing headlines

Some options were missing headlines, which looked a bit inconsistent.
2017-10-17 22:20:59 +08:00
kennytm
6b2027b500 Rollup merge of #45307 - dbrgn:fix-typo, r=QuietMisdreavus
Fix typo in rustdoc book

There was a tyop :P
2017-10-17 22:20:58 +08:00
kennytm
18f289559e Rollup merge of #45151 - Pirh:stdio_default_docs, r=frewsxcv
Document defaults for stdin, stdout, and stderr methods of Command

For #29370
2017-10-17 22:20:57 +08:00
kennytm
40d61f5982 Rollup merge of #45097 - nivkner:fixme_fixup2, r=estebank
address more FIXME whose associated issues were marked as closed

part of #44366
2017-10-17 22:20:55 +08:00
bgermann
b3ea6e5fc5 Make Solaris builder compatible with Solaris 10 retry
Unfortunately, #45255 does not quite cut it,
so use a different approach to have Solaris 10 compatibility
by tricking libbacktrace's autoconf tests.
The sysroot download routine is slightly changed, too.
2017-10-17 15:53:18 +02:00
Ariel Ben-Yehuda
a151d37401 fix generator drop caching
Fixes #45328.
2017-10-17 15:20:22 +03:00
bors
0be6863a15 Auto merge of #45290 - GuillaumeGomez:fix-help, r=QuietMisdreavus
Hide help when search bar is focused

Fixes #45286

r? @rust-lang/docs
2017-10-17 12:18:25 +00:00
Stjepan Glavina
a50fe312dc Docs: a LocalKey might start in the Valid state 2017-10-17 11:02:25 +02:00
bors
611f375a86 Auto merge of #45311 - goffrie:issue-40003, r=alexcrichton
Add the test for #40003.

I checked that the test failed to compile on an older nightly (I tried 2017-09-29) and that it compiles against master.

Closes #40003.
2017-10-17 09:00:11 +00:00
Konrad Borowski
8528508aa0 Update array documentation for Clone trait changes 2017-10-17 08:29:29 +02:00
Tatsuyuki Ishi
cbe41168e0 bootstrap: Avoid fetching jemalloc if it's disabled
Fix #45300
2017-10-17 15:01:49 +09:00
Alex Crichton
56f5a19e45 Update ThinLTO for LLVM 5 2017-10-17 14:33:36 +09:00