Commit Graph

77588 Commits

Author SHA1 Message Date
bors
786e3058d2 Auto merge of #49904 - michaelwoerister:no-debug-attr, r=alexcrichton
Work around LLVM debuginfo problem in librustc_driver.

Works around a problem (https://github.com/rust-lang/rust/issues/48910) with global variable debuginfo generation for `rustc_driver::get_trans::LOAD` by applying `#[no_debug]` to it (which just disables debuginfo generation for that variable). This way we can build the compiler with debuginfo again.

Since the problem is also present in beta, this workaround might have to be backported.

r? @alexcrichton
2018-04-17 19:26:25 +00:00
bors
9379bcdd0b Auto merge of #50033 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 4 pull requests

Successful merges:

 - #49699 (Removed 'proc' from the reserved keywords list)
 - #49966 (Multiple query search)
 - #50013 (Remove no longer necessary comparison to Vec::splice.)
 - #50032 (rustdoc: Don't include private paths in all.html)

Failed merges:
2018-04-17 16:51:55 +00:00
Guillaume Gomez
92d29c1267
Rollup merge of #50032 - ollie27:rustdoc_all_private, r=GuillaumeGomez
rustdoc: Don't include private paths in all.html

For example the `std` [`all.html`](https://doc.rust-lang.org/nightly/std/all.html) includes references to the `coresimd` module which is a private implementation detail.

r? @GuillaumeGomez
2018-04-17 18:43:17 +02:00
Guillaume Gomez
6f5fc47ccc
Rollup merge of #50013 - frewsxcv:frewsxcv-ssplice, r=GuillaumeGomez
Remove no longer necessary comparison to Vec::splice.

`String::replace_range` was previously called `String::splice`, so this
note was necessary to differentiate it from the `Vec` method. Now that
it's renamed, this note no longer seems necessary.
2018-04-17 18:43:16 +02:00
Guillaume Gomez
7a6fad32af
Rollup merge of #49966 - GuillaumeGomez:comma-search, r=QuietMisdreavus
Multiple query search

Part of #49757.

r? @QuietMisdreavus
2018-04-17 18:43:15 +02:00
Guillaume Gomez
7a39e90afc
Rollup merge of #49699 - zesterer:master, r=joshtriplett
Removed 'proc' from the reserved keywords list

Remove 'proc' from the reserved keywords list.

'proc' is a very useful identifier name for a lot of things. It's especially useful when dealing with processes, operating system internals, and kernel development.
2018-04-17 18:43:13 +02:00
Mark Mansi
787b70592f Turn some comments into doccomments 2018-04-17 10:54:10 -05:00
Mark Mansi
5977818678 run rustfmt on rustc_driver/driver.rs 2018-04-17 10:54:10 -05:00
Mark Mansi
3d6d9f98d1 Run rustfmt 2018-04-17 10:52:33 -05:00
John Kåre Alsaker
e5fc06da8a Make one_time_diagnostics thread-safe 2018-04-17 16:43:30 +02:00
John Kåre Alsaker
bf06a53265 Make Handler more thread-safe 2018-04-17 16:43:30 +02:00
bors
881a7cd86e Auto merge of #49836 - nikomatsakis:nll-facts-prep, r=pnkfelix
prep work for using timely dataflow with NLL

Two major changes:

**Two-phase borrows are overhauled.** We no longer have two bits per borrow. Instead, we track -- for each borrow -- an (optional) "activation point". Then, for each point P where the borrow is in scope, we check where P falls relative to the activation point. If P is between the reservation point and the activation point, then this is the "reservation" phase of the borrow, else the borrow is considered active. This is simpler and means that the dataflow doesn't have to care about 2-phase at all, at last not yet.

**We no longer support using the MIR borrow checker without NLL.** It is going to be increasingly untenable to support lexical mode as we go forward, I think, and also of increasingly little value. This also exposed a few bugs in NLL mode due to increased testing.

r? @pnkfelix
cc @bobtwinkles
2018-04-17 14:23:57 +00:00
Michael Woerister
281492898b Clean up attribute handling in create_function_debug_context(). 2018-04-17 16:23:48 +02:00
Michael Woerister
6f9c36e400 Use #[no_debug] to work around LLVM problem with rustc_driver::get_trans::LOAD. 2018-04-17 15:49:54 +02:00
Michael Woerister
5cc7d5ef70 Support #[no_debug] for global variables. 2018-04-17 15:01:31 +02:00
Michael Woerister
d5b48a4b1b Add #[no_debug] to trans_fn_attrs() query. 2018-04-17 15:01:31 +02:00
bors
d703622ce0 Auto merge of #49626 - fanzier:chalk-lowering, r=scalexm
Implement Chalk lowering rule Normalize-From-Impl

This extends the Chalk lowering pass with the "Normalize-From-Impl" rule for generating program clauses from a trait definition as part of #49177.

r? @nikomatsakis
2018-04-17 11:31:19 +00:00
Manish Goregaokar
24d410abd6 Don't run unused variable pass for stuff generated by #[derive()] 2018-04-17 10:39:04 +01:00
Nick Cameron
de34735ab2 Only emit save-analysis data for cargo build tasks
Previously, we were emittinng analysis data for all tasks, including `doc`. That meant we got two sets of save-analysis data, one from the normal build and one from the docs. That means indexing with the RLS took twice as long and made downloads larger and build times longer.

cc https://github.com/rust-lang-nursery/rls/issues/826
2018-04-17 21:35:10 +12:00
bors
8728c7a726 Auto merge of #49542 - GuillaumeGomez:intra-link-resolution-error, r=GuillaumeGomez
Add warning if a resolution failed

r? @QuietMisdreavus
2018-04-17 09:02:03 +00:00
Andreas Tolfsen
bc4bd5642a fixup! std: Child::kill() returns error if process has already exited 2018-04-17 08:00:48 +01:00
bors
6b12d361ff Auto merge of #49882 - Zoxc:sync-misc2, r=michaelwoerister
More thread-safety changes

r? @michaelwoerister
2018-04-17 06:46:31 +00:00
tinaun
fd042eee00 stabilize hash_map_remove_entry feature 2018-04-17 01:22:28 -04:00
tinaun
b84baf2378 stabilize nonnull_cast feature 2018-04-17 01:22:28 -04:00
tinaun
4a8f4b7e49 stabilize duration_extras feature 2018-04-17 01:22:21 -04:00
tinaun
335195d628 stabilize duration_from_micros feature 2018-04-17 00:49:45 -04:00
tinaun
78a8c25703 stabilize swap_with_slice feature 2018-04-17 00:49:24 -04:00
tinaun
41c211d204 stabilize swap_nonoverlapping feature 2018-04-17 00:48:38 -04:00
tinaun
edc412c5a9 stabilize slice_rsplit feature 2018-04-17 00:48:23 -04:00
bors
186db76159 Auto merge of #49664 - alexcrichton:stable-simd, r=BurntSushi
Stabilize x86/x86_64 SIMD

This commit stabilizes the SIMD in Rust for the x86/x86_64 platforms. Notably
this commit is stabilizing:

* The `std::arch::{x86, x86_64}` modules and the intrinsics contained inside.
* The `is_x86_feature_detected!` macro in the standard library
* The `#[target_feature(enable = "...")]` attribute
* The `#[cfg(target_feature = "...")]` matcher

Stabilization of the module and intrinsics were primarily done in
rust-lang-nursery/stdsimd#414 and the two attribute stabilizations are done in
this commit. The standard library is also tweaked a bit with the new way that
stdsimd is integrated.

Note that other architectures like `std::arch::arm` are not stabilized as part
of this commit, they will likely stabilize in the future after they've been
implemented and fleshed out. Similarly the `std::simd` module is also not being
stabilized in this commit, only `std::arch`. Finally, nothing related to `__m64`
is stabilized in this commit either (MMX), only SSE and up types and intrinsics
are stabilized.

Closes #29717
Closes #44839
Closes #48556
2018-04-17 03:57:22 +00:00
bors
94516c5038 Auto merge of #50012 - Zoxc:msvc-fix, r=Mark-Simulacrum
Don't look for cc/cxx when testing with bogus targets

This fixes test builds on Windows.

r? @Mark-Simulacrum
2018-04-17 01:41:43 +00:00
Corey Farwell
01e8bebaf1 Remove no longer necessary comparison to Vec::splice.
`String::replace_range` was previously called `String::splice`, so this
note was necessary to differentiate it from the `Vec` method. Now that
it's renamed, this note no longer seems necessary.
2018-04-17 10:23:06 +09:00
John Kåre Alsaker
52e1c84732 Don't look for cc/cxx when testing with bogus targets 2018-04-17 01:59:00 +02:00
bors
3809bbf47c Auto merge of #49488 - alexcrichton:small-wasm-panic, r=sfackler
std: Minimize size of panicking on wasm

This commit applies a few code size optimizations for the wasm target to
the standard library, namely around panics. We notably know that in most
configurations it's impossible for us to print anything in
wasm32-unknown-unknown so we can skip larger portions of panicking that
are otherwise simply informative. This allows us to get quite a nice
size reduction.

Finally we can also tweak where the allocation happens for the
`Box<Any>` that we panic with. By only allocating once unwinding starts
we can reduce the size of a panicking wasm module from 44k to 350 bytes.
2018-04-16 23:19:41 +00:00
Guillaume Gomez
05275dafaa Remove unwanted auto-linking and update 2018-04-16 23:37:11 +02:00
Guillaume Gomez
a3ed2abed7 Fix empty tests 2018-04-16 23:37:11 +02:00
Guillaume Gomez
16a39382e2 Fix nits 2018-04-16 23:37:11 +02:00
Guillaume Gomez
b2192ae157 Add rustdoc-ui test suite 2018-04-16 23:37:11 +02:00
Guillaume Gomez
a6fefdecdf Add error-format and color-config options to rustdoc 2018-04-16 23:37:11 +02:00
Guillaume Gomez
035ec5bbb6 Add warning if a resolution failed 2018-04-16 23:33:43 +02:00
John Kåre Alsaker
9cbe3b749d Update tests 2018-04-16 23:30:36 +02:00
John Kåre Alsaker
5841c687a3 Improve query cycle error message 2018-04-16 23:30:35 +02:00
John Kåre Alsaker
21f6e55ce9 Call default_span lazily when query cycles occur instead of in the hot path for queries 2018-04-16 23:30:34 +02:00
Alex Crichton
1217d70465 Separately gate each target_feature feature
Use an explicit whitelist for what features are actually stable and can be
enabled.
2018-04-16 13:58:42 -07:00
Phlosioneer
c61e641ed6 Changed help message to note 2018-04-16 16:56:24 -04:00
bors
4a3ab8b234 Auto merge of #50003 - kennytm:rollup, r=kennytm
Rollup of 8 pull requests

Successful merges:

 - #49555 (Inline most of the code paths for conversions with boxed slices)
 - #49606 (Prevent broken pipes causing ICEs)
 - #49646 (Use box syntax instead of Box::new in Mutex::remutex on Windows)
 - #49647 (Remove `underscore_lifetimes` and `match_default_bindings` from active feature list)
 - #49931 (Fix incorrect span in `&mut` suggestion)
 - #49959 (rustbuild: allow building tools with debuginfo)
 - #49965 (Remove warning about f64->f32 cast being potential UB)
 - #49994 (Remove unnecessary indentation in rustdoc book codeblock.)

Failed merges:
2018-04-16 20:35:57 +00:00
kennytm
bf16e4bc54
Rollup merge of #49647 - kennytm:duplicated-features, r=aturon
Remove `underscore_lifetimes` and `match_default_bindings` from active feature list

These are already stabilized in 1.26.
2018-04-17 03:34:55 +08:00
kennytm
932431ceda
Rollup merge of #49994 - frewsxcv:frewsxcv-doc-tests, r=QuietMisdreavus
Remove unnecessary indentation in rustdoc book codeblock.

None
2018-04-17 03:34:34 +08:00
kennytm
87cd53e63f
Rollup merge of #49965 - nikic:fix-49622, r=rkruppe
Remove warning about f64->f32 cast being potential UB

As discussed in #15536, the LLVM documentation incorrect described overflowing f64->f32 casts as being undefined behavior. LLVM never treated them as such, and the documentation has been adjusted in https://reviews.llvm.org/rL329065. As such, this warning can now be removed.

Closes #49622.

---

I could not find any existing test checking for this warning. Should I be adding a test for the absence of the warning instead?
2018-04-17 03:34:33 +08:00
kennytm
34ee31d6f2
Rollup merge of #49959 - cuviper:debuginfo-tools, r=Mark-Simulacrum
rustbuild: allow building tools with debuginfo

Debugging information for the extended tools is currently disabled for
concerns about the size.  This patch adds `--enable-debuginfo-tools` to
let one opt into having that debuginfo.

This is useful for debugging the tools in distro packages.  We always
strip debuginfo into separate packages anyway, so the extra size is not
a concern in regular use.
2018-04-17 03:34:31 +08:00