Commit Graph

68161 Commits

Author SHA1 Message Date
Alex Crichton
2ee7493b2a Add some more with_ignore to get tests passing 2017-09-07 08:13:17 -07:00
Stuart Pernsteiner
3454d99cb6 pprust: increase precedence of block-like exprs 2017-09-07 10:28:31 -04:00
bors
d93036a043 Auto merge of #44249 - pnkfelix:debugflag-emit-end-regions, r=arielb1
Debugflag: -Z emit-end-regions

 Skip EndRegion emission by default. Use `-Z emit-end-regions` to reenable it.

The main intent is to fix cases where `EndRegion` emission is believed to be causing excess peak memory pressure.

It may also be a welcome change to people inspecting the MIR output who find the EndRegions to be a distraction.

(In later follow-up PR's I will put in safe-guards against using the current mir-borrowck without enabling `EndRegion` emission. But I wanted this PR to be minimal, in part because we may wish to backport it to the beta channel if we find that it reduces peak memory usage significantly.)
2017-09-07 13:06:12 +00:00
Tobias Bucher
b4d0f61771 Clarify the behavior of UDP sockets wrt. multiple addresses in connect 2017-09-07 11:26:23 +02:00
kennytm
83d14bda7f
Disable the 80-year-difference test on 32-bit-time_t platforms. 2017-09-07 17:14:27 +08:00
kennytm
756026563d
Fix incorrect test in time::tests::system_time_math. 2017-09-07 17:14:27 +08:00
kennytm
8410ca6632
Properly detect overflow in Instance +/- Duration.
Avoid unchecked cast from `u64` to `i64`. Use `try_into()` for checked
cast. (On Unix, cast to `time_t` instead of `i64`.)
2017-09-07 17:14:27 +08:00
est31
d58281097a Fix mispositioned error indicators
Fixes #38384

Most of the Rust community uses 4 spaces for indentation,
but there are also tab users of Rust (including myself!).

This patch fixes a bug in error printing which mispositions
error indicators when near code with tabs.

The code attempted to fix the issue by replacing spaces
with tabs, but it sadly wasn't enough, as sometimes
you may not print spaces but _ or ^ instead.

This patch employs the reverse strategy: it replaces each
tab with a space, so that the number of _ and ^ and spaces
in error indicators below the code snippet line up
perfectly.

In a study [1] preceeding this patch, we could see that
this strategy is also chosen by gcc version 6.3.0.

Its not perfect, as the output is not beautiful, but its
the easiest to implement. If anyone wants to improve on
this, be my guest! This patch is meant as improvement of
the status quo, not as perfect end status. It fixes the
actual issue of mispositioning error indicators.

[1]: https://github.com/rust-lang/rust/issues/38384#issuecomment-326813710
2017-09-07 10:26:27 +02:00
est31
fc44447bb9 Update the libcompiler_builins submodule
Pulls in https://github.com/rust-lang-nursery/compiler-builtins/pull/187 for nicer build output :)
2017-09-07 09:08:09 +02:00
bors
d7d75eff30 Auto merge of #43931 - eddyb:const-local-key, r=alexcrichton
Make the LocalKey facade of thread_local! inlineable cross-crate.

Fixes (almost*) #25088 by changing the `LocalKey` `static` `thread_local!` generates to a `const`.
This can be done because a `LocalKey` value holds no actual TLS data, only function pointers to get at said data, and it could even be made `Copy` without any negative consequences.
The recent stabilization of rvalue promotion to `'static` allows doing this without changing the API.
r? @alexcrichton

*almost because we can't yet inline `__getit` because it breaks on MSVC, see https://github.com/rust-lang/rust/pull/43931#issuecomment-323534214
2017-09-07 06:52:05 +00:00
Alex Crichton
f633284b3d std: Fix a segfault on OSX with backtraces
Apparently `dladdr` can succeed but still give you NULL pointers!

Closes #44379
2017-09-06 22:14:34 -07:00
bors
a6a9d4c5fd Auto merge of #44094 - alexcrichton:long-linkers, r=michaelwoerister
rustc: Attempt to handle super long linker invocations

This commit adds logic to the compiler to attempt to handle super long linker
invocations by falling back to the `@`-file syntax if the invoked command is too
large. Each OS has a limit on how many arguments and how large the arguments can
be when spawning a new process, and linkers tend to be one of those programs
that can hit the limit!

The logic implemented here is to unconditionally attempt to spawn a linker and
then if it fails to spawn with an error from the OS that indicates the command
line is too big we attempt a fallback. The fallback is roughly the same for all
linkers where an argument pointing to a file, prepended with `@`, is passed.
This file then contains all the various arguments that we want to pass to the
linker.

Closes #41190
2017-09-07 04:07:09 +00:00
Douglas Campos
72c92b3233 better test documentation 2017-09-06 23:10:08 -04:00
Douglas Campos
784e4316eb ugly, but works! 2017-09-06 23:06:14 -04:00
Douglas Campos
b413596da6 add broken test 2017-09-06 23:06:13 -04:00
Jessica Hamilton
cbc9031fbc ci: introduce haiku x86_64 builder 2017-09-06 20:05:00 -05:00
bors
05e3c96d36 Auto merge of #44380 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 23 pull requests

- Successful merges: #44097, #44206, #44218, #44276, #44277, #44296, #44303, #44313, #44315, #44317, #44319, #44321, #44325, #44326, #44327, #44328, #44330, #44351, #44353, #44354, #44361, #44362, #44377
- Failed merges:
2017-09-07 01:04:34 +00:00
Mark Simulacrum
66670584cf Rollup merge of #44377 - mathstuf:config.toml-typos, r=alexcrichton
config.toml.example: fix some typos
2017-09-06 18:28:08 -06:00
Mark Simulacrum
435a5cdc6b Rollup merge of #44362 - oli-obk:patch-7, r=eddyb
Fix a bug in the inliner

r? @eddyb
2017-09-06 18:28:07 -06:00
Mark Simulacrum
f8b7c3e1db Rollup merge of #44361 - oli-obk:lit_sugg, r=nikomatsakis
Suggest changing literals instead of calling methods (fixes #44307)
2017-09-06 18:28:06 -06:00
Mark Simulacrum
48dcebd586 Rollup merge of #44354 - jakllsch:jakllsch-85453197-a0cc-43f6-8c55-7bce6c4a4ebf, r=Mark-Simulacrum
bootstrap: openssl for NetBSD/sparc64 in extended build

r? @Mark-Simulacrum
2017-09-06 18:28:05 -06:00
Mark Simulacrum
eba44f10f9 Rollup merge of #44353 - cuviper:install-rustc, r=Mark-Simulacrum
Include rustc in the default `./x.py install`

The default install used to include rustc, rust-std, and rust-docs, but
the refactoring in commit 6b3413d825 make rustc only default in
extended builds.  This commit makes rustc installed by default again.
2017-09-06 18:28:04 -06:00
Mark Simulacrum
b0929aadad Rollup merge of #44351 - lu-zero:master, r=nikomatsakis
More PowerPC Altivec intrinsics
2017-09-06 18:28:03 -06:00
Mark Simulacrum
ae96d68605 Rollup merge of #44330 - WiSaGaN:patch-1, r=aturon
Fix link typo in 1.20.0 release notes

Should have been included in https://github.com/rust-lang/rust/pull/44230
2017-09-06 18:28:02 -06:00
Mark Simulacrum
e7470c9f18 Rollup merge of #44328 - mcomstock:from-str-doc-fix, r=steveklabnik
Removed the incorrect documentation for from_str

Fixes #44242.
2017-09-06 18:28:00 -06:00
Mark Simulacrum
d2c85a0899 Rollup merge of #44327 - Eh2406:FIXME#12808, r=aturon
#12808 is closed remove the FIXME

let's see if this can be cleaned up.

https://github.com/rust-lang/rust/issues/12808#issuecomment-326852052
2017-09-06 18:27:59 -06:00
Mark Simulacrum
43d20c7abd Rollup merge of #44326 - Eh2406:FIXME#44590, r=arielb1
#33490 is closed remove the FIXME

let's see if this can be cleaned up.

https://github.com/rust-lang/rust/issues/33490#issuecomment-326851930
2017-09-06 18:27:58 -06:00
Mark Simulacrum
a4b54848d4 Rollup merge of #44325 - nielsegberts:master, r=steveklabnik
Make slice::split_at_mut example demonstrate mutability

Moved the examples from split_at_mut to split_at so the example at
split_at_mut can just demonstrate mutability.

See #44314

r? @steveklabnik
2017-09-06 18:27:57 -06:00
Mark Simulacrum
596e97fdce Rollup merge of #44321 - jakllsch:jakllsch-4f2d6c87-2674-43e4-9c5f-2415136e6bdc, r=Mark-Simulacrum
bootstrap: only include docs in extended distribution if enabled

Fixes #44163
2017-09-06 18:27:56 -06:00
Mark Simulacrum
405123391a Rollup merge of #44319 - est31:master, r=eddyb
Improve DefIndex formatting to be more semantic

Fixes #44318

r? @eddyb
2017-09-06 18:27:55 -06:00
Mark Simulacrum
089bbd029e Rollup merge of #44317 - Dushistov:master, r=arielb1
Add test for #22706

Closes #22706
2017-09-06 18:27:54 -06:00
Mark Simulacrum
fdb8d0beb4 Rollup merge of #44315 - kallisti5:epoch-doc-example-squashed, r=GuillaumeGomez
std/time: Give an example to get UNIX_EPOCH in seconds
2017-09-06 18:27:53 -06:00
Mark Simulacrum
50f14e906f Rollup merge of #44313 - RalfJung:book, r=nikomatsakis
rustbook: remove dead test functions

There is no "test" subcommand added to the `clap::App`, so this is all dead code.

Cc @steveklabnik -- your [commit](a076961fd0) introducing this stated the intention of having both commands, but it seems nobody has missed the `test` command since February.
2017-09-06 18:27:52 -06:00
Mark Simulacrum
923c3518bc Rollup merge of #44303 - clarcharr:debugs, r=alexcrichton
impl Debug for SplitWhitespace.

This one got missed because `libstd_unicode` doesn't have a `deny(missing_debug_implementations)` like `libstd` and `libcore`. I think that perhaps this lint should check for items exported from other crates too.
2017-09-06 18:27:51 -06:00
Mark Simulacrum
fee0b67177 Rollup merge of #44296 - zmanian:patch-1, r=steveklabnik
Minor documentation improvements for StmtKind

Documentation for Semi and Marco StmtKinds.

Wasn't obvious to me what these were when writing a lint recently.
2017-09-06 18:27:50 -06:00
Mark Simulacrum
5c79f6d05c Rollup merge of #44277 - mattico:test-33185, r=nikomatsakis
Add test for #33185

Closes #33185
2017-09-06 18:27:49 -06:00
Mark Simulacrum
2dabf35771 Rollup merge of #44276 - mattico:test-35376, r=alexcrichton
Add test for #35676

Closes #35676
2017-09-06 18:27:48 -06:00
Mark Simulacrum
da5e5ef4a2 Rollup merge of #44218 - SimonSapin:commit-hash, r=alexcrichton
Add full git commit hash to release channel manifests

The full hash is necessary to build the download URL for "alternate" compiler builds. This is a first step for https://github.com/rust-lang-nursery/rustup.rs/issues/1099.
2017-09-06 18:27:47 -06:00
Mark Simulacrum
b8812a2179 Rollup merge of #44206 - MarkMcCaskey:master, r=steveklabnik
update unimplemented! docs

For #42628 (updating docs from changes from #42155).

Initial changes made to make `unimplemented!` doc comments look more like `unreachable!` and remove statement about the panic message.

r? @steveklabnik
2017-09-06 18:27:46 -06:00
Mark Simulacrum
44351edb64 Rollup merge of #44097 - Xaeroxe:clamp, r=burntsushi
Add clamp functions

Implementation of clamp feature:

Tracking issue: https://github.com/rust-lang/rust/issues/44095
RFC: https://github.com/rust-lang/rfcs/pull/1961
2017-09-06 18:27:45 -06:00
Ben Boeckel
04cbf6eece config.toml.example: fix some typos 2017-09-06 18:23:50 -04:00
Niko Matsakis
ffd21b184c add in a "paranoid" trait bound 2017-09-06 17:54:37 -04:00
topecongiro
ed63e0be95 Add visibility to span for macros 2.0 2017-09-07 06:28:04 +09:00
Joshua Sheard
8e80cee144 Implement named threads on Windows 2017-09-06 20:40:34 +01:00
bgermann
5b76b8681c Use memalign instead of posix_memalign for Solaris
As pointed out in https://github.com/rust-lang/libc/commit/deb61c8,
Solaris 10 does not support posix_memalign.
Use memalign for all Solaris versions instead.
With this change applied I am able to cross-build rustc for Solaris 10.
2017-09-06 21:31:19 +02:00
bors
3681220877 Auto merge of #43975 - RalfJung:gcc, r=alexcrichton
use gcc::Build rather than deprecated gcc::Config

I did `cargo update -p gcc` to upgrade only this package. Is there further process that should be follwoed when updating a build dependency from crates.io?

r? @alexcrichton
Fixes #43973
2017-09-06 19:28:36 +00:00
Stuart Pernsteiner
347db068a5 hir::print: fix parenthesization of exprs 2017-09-06 13:01:15 -04:00
Oliver Middleton
55f90877ee rustdoc: Don't counts ids twice when using --enable-commonmark 2017-09-06 16:20:44 +01:00
Stuart Pernsteiner
5b2151ea21 better explanatory comment for the pprust-expr-roundtrip test 2017-09-06 10:30:00 -04:00
Stuart Pernsteiner
b79dada453 pprust: fix parenthesization of exprs 2017-09-06 10:26:51 -04:00