Commit Graph

48155 Commits

Author SHA1 Message Date
Stepan Koltsov
e3433e3b51 Fix outdated comment in Vec::from_iter
Since commit 46068c9da, call to `reserve()` on empty vec allocates
exactly requested capacity, so unroll of first iteration may help only
with branch prediction.
2015-11-08 17:17:02 +03:00
Tamir Duberstein
008f9d5822 jemalloc: pass --enable-valgrind when valgrind is enabled 2015-11-08 08:10:29 -05:00
Tamir Duberstein
08efcee858 jemalloc: quarantine is fixed 2015-11-08 08:10:29 -05:00
Tamir Duberstein
31ed7185a1 whitespace 2015-11-08 08:10:29 -05:00
bors
01fc81f249 Auto merge of #29683 - apasel422:typos, r=steveklabnik
r? @steveklabnik
2015-11-08 05:31:21 +00:00
bors
4648d2b0f7 Auto merge of #29681 - vadimcn:fix-dist, r=alexcrichton
Resolves  #29672.   This happened because rust runtime startup objects, rsbegin.o and rsend.o, were not included in the target libraries package for -windows-gnu.

r? @alexcrichton
2015-11-08 02:34:24 +00:00
Andrew Paseltiner
e807b1f5ab Remove duplicate words from docs 2015-11-07 21:28:13 -05:00
Kevin Butler
c0a3538315 librustc: dont warn for inside of items when the parent is dead 2015-11-08 02:04:34 +00:00
Eric Findlay
dda7a3c2a1 Fixed "foo()" in try! example, r=steveklabnik 2015-11-08 11:00:03 +09:00
Vadim Chugunov
9f9afe5769 Make sure rsbegin.o and rsend.o get packaged with target lib artifacts.
Also, unified libc startup objects finding logic with that of the `-musl` target, since conceptually they were doing the same thing.
2015-11-07 17:56:55 -08:00
Eric Findlay
46b30ccd89 Added foo() to rustdoc example, r=steveklabnik
Fixes #29234
2015-11-08 10:05:20 +09:00
bors
bfdc358910 Auto merge of #29674 - inrustwetrust:flag_alignment, r=alexcrichton
The `enable-nonzeroing-move-hints` flag name was too long and caused misalignment of the help text.
Now calculating the needed padding dynamically from the available flags instead.
2015-11-07 23:45:14 +00:00
bors
43b5d5e0de Auto merge of #29678 - jwworth:pull-request/fix-typo, r=apasel422
Fixes the typo 'is is'.
2015-11-07 18:49:42 +00:00
Jake Worth
ac19178078 Fix typo 2015-11-07 12:27:58 -06:00
Ulrik Sverdrup
0f5e30d160 sort: Guard the fast path by length check
The right part must not be empty.
2015-11-07 18:09:20 +01:00
Ulrik Sverdrup
35fd1bab5e sort: Fast path for already sorted data
When merging two sorted blocks `left` and `right` if the last element in
`left` is <= the first in `right`, the blocks are already sorted.

Add this as an additional fast path by simply copying the whole left
block into the output and advancing the left pointer. The right block is
then treated the same way by the already present logic in the merge
loop.

Reduces runtime of .sort() to less than 50% of the previous, if the data
was already perfectly sorted. Sorted data with a few swaps are also
sorted quicker than before. The overhead of one comparison per merge
seems to be negligible.
2015-11-07 17:45:14 +01:00
bors
86069e45fe Auto merge of #29671 - ollie27:patch-1, r=bluss 2015-11-07 13:31:10 +00:00
inrustwetrust
61bb652ada Fixed text alignment for output of "rustc -Z help" 2015-11-07 14:13:30 +01:00
Oliver Middleton
4f6eb1e93a Update list of array implementations in src/libstd/primitive_docs.rs 2015-11-07 12:01:11 +00:00
bors
d34daf38e8 Auto merge of #29662 - rust-lang:brson-patch-2, r=steveklabnik
r? @steveklabnik
2015-11-07 06:18:39 +00:00
Brian Anderson
0d0cb3bb62 Direct security bugs to the security policy. 2015-11-06 21:56:40 -08:00
bors
bb9b5f5ede Auto merge of #29666 - Manishearth:rollup, r=Manishearth
- Successful merges: #29617, #29622, #29656, #29659, #29660
- Failed merges:
2015-11-07 02:26:45 +00:00
Manish Goregaokar
d9dd67d908 Rollup merge of #29660 - steveklabnik:gh28461, r=brson
Fixes #28461
2015-11-07 06:44:46 +05:30
Manish Goregaokar
e42dbc26de Rollup merge of #29659 - angelsl:crt-rebase, r=alexcrichton
cc: @vadimcn @vhbit

r? @alexcrichton
2015-11-07 06:44:46 +05:30
Manish Goregaokar
29c32cae2a Rollup merge of #29656 - arcnmx:static-extern, r=alexcrichton
This is currently done for functions but not public static symbols.
2015-11-07 06:44:45 +05:30
Manish Goregaokar
be4cd07a7e Rollup merge of #29622 - steveklabnik:gh29621, r=bstrie
Now that thread::sleep is a real thing, let's use it

Fixes #29621

r? @bstrie
2015-11-07 06:44:45 +05:30
Manish Goregaokar
50e8707cc3 Rollup merge of #29617 - steveklabnik:gh29591, r=alexcrichton
Fixes #29591
2015-11-07 06:44:45 +05:30
bors
1e3e7e73c6 Auto merge of #29551 - arcnmx:target-family, r=alexcrichton
Allow the changing of `target_family` through flexible configuration. The whole computing world isn't just a binary of *nix and Windows! Makes porting `libstd` and co to new platforms a lot less painful.
2015-11-07 00:42:10 +00:00
bors
6dbd2509f0 Auto merge of #29462 - alexcrichton:refactor-process-ret, r=aturon
* Store the native representation directly in the `ExitStatus` structure instead
  of a "parsed version" (mostly for Unix).
* On Windows, be more robust against processes exiting with the status of 259.
  Unfortunately this exit code corresponds to `STILL_ACTIVE`, causing libstd to
  think the process was still alive, causing an infinite loop. Instead the loop
  is removed altogether and `WaitForSingleObject` is used to wait for the
  process to exit.
2015-11-06 22:57:37 +00:00
Alex Crichton
94aee5b7e6 std: Refactor process exit code handling slightly
* Store the native representation directly in the `ExitStatus` structure instead
  of a "parsed version" (mostly for Unix).
* On Windows, be more robust against processes exiting with the status of 259.
  Unfortunately this exit code corresponds to `STILL_ACTIVE`, causing libstd to
  think the process was still alive, causing an infinite loop. Instead the loop
  is removed altogether and `WaitForSingleObject` is used to wait for the
  process to exit.
2015-11-06 14:40:43 -08:00
bors
475f91f46e Auto merge of #29582 - oli-obk:token_tree, r=sfackler 2015-11-06 21:11:06 +00:00
Steve Klabnik
801f83ff65 sleep_ms -> sleep
Now that thread::sleep is a real thing, let's use it

Fixes #29621
2015-11-06 18:00:29 +01:00
Steve Klabnik
586eb3d50f Add multi-line string literals to TRPL
Fixes #29591
2015-11-06 17:58:27 +01:00
Steve Klabnik
5eacf66c48 Make a note about "gigabyte"
Fixes #28461
2015-11-06 17:44:04 +01:00
bors
b14dc5bc1c Auto merge of #29657 - defuz:patch-2, r=steveklabnik
r? @steveklabnik
2015-11-06 16:42:03 +00:00
angelsl
43e1f9ac5a Update compiler-rt 2015-11-07 00:26:44 +08:00
bors
2143a9ff9a Auto merge of #29643 - petrochenkov:stability5, r=alexcrichton
Also remove `stable` stability annotations from inherent impls

(There will be a warning for useless stability annotations soon.)

r? @Gankro
2015-11-06 14:57:41 +00:00
Oliver Schneider
fcc7067904 remove Tt prefix from TokenType variants
[breaking change]
2015-11-06 14:52:02 +01:00
bors
7cd8f69a4f Auto merge of #29620 - petrochenkov:reachable2, r=alexcrichton
Handle them in `middle::reachable` instead (no optimizations so far, just drop all trait impl items into the reachable set, as before). Addresses the concerns from https://github.com/rust-lang/rust/pull/29291#discussion_r43672413
\+ In `middle::reachable` don't treat impls of `Drop` specially, they are subsumed by the general impl treatment.
\+ Add some tests checking reachability of trait methods written in UFCS form
\+ Minor refactoring in the second commit

r? @alexcrichton
2015-11-06 13:13:08 +00:00
Ivan Ivaschenko
1ebdb734aa Opps, fix incorrect call 2015-11-06 13:52:17 +02:00
Ivan Ivaschenko
0ccd883e7f Rename me in AUTHORS.txt 2015-11-06 13:48:24 +02:00
Ivan Ivaschenko
d071bd00bf Removing the hack from error handling chapter, which is does not make sense anymore. 2015-11-06 13:44:42 +02:00
bors
2f59977d96 Auto merge of #29615 - steveklabnik:lol_strings, r=alexcrichton
&format!("...") is the same as "" if we're not doing any interpolation,
and doesn't allocate an intermediate String.
2015-11-06 11:28:07 +00:00
arcnmx
892b50ba74 Preserve public static items across LTO 2015-11-06 05:04:43 -05:00
bors
6878fce9c7 Auto merge of #29604 - bstrie:de_ms, r=alexcrichton 2015-11-06 09:42:17 +00:00
bors
02d9f29455 Auto merge of #29600 - Ryman:rustdoc_better_testnames, r=alexcrichton
Old doctest names
```bash
test sync::atomic::load_0 ... ok
test sync::atomic::load_0 ... ok
test sync::atomic::load_0 ... ok
test sync::atomic::load_0 ... ok
```

New doctest names
```bash
test sync::atomic::AtomicBool::load_0 ... ok
test sync::atomic::AtomicIsize::load_0 ... ok
test sync::atomic::AtomicPtr<T>::load_0 ... ok
test sync::atomic::AtomicUsize::load_0 ... ok
```
2015-11-06 07:58:27 +00:00
bors
98fa2ac1bc Auto merge of #29588 - nikomatsakis:mir-switch, r=aatch
Introduce a `SwitchInt` and restructure pattern matching to collect integers and characters into one master switch. This is aimed at #29227, but is not a complete fix. Whereas before we generated an if-else-if chain and, at least on my machine, just failed to compile, we now spend ~9sec compiling `rustc_abuse`. AFAICT this is basically just due to a need for more micro-optimization of the matching process: perf shows a fair amount of time just spent iterating over the candidate list. Still, it seemed worth opening a PR with this step alone, since it's a big step forward.
2015-11-06 06:13:59 +00:00
bors
7512808ac9 Auto merge of #29491 - alexcrichton:avoid-stdio-tls, r=brson
Currently if a print happens while a thread is being torn down it may cause a
panic if the LOCAL_STDOUT TLS slot has been destroyed by that point. This adds a
guard to check and prints to the process stdout if that's the case (as we do for
if the slot is already borrowed).

Closes #29488
2015-11-06 04:29:11 +00:00
bors
d53496bda9 Auto merge of #29653 - alexcrichton:fix-distcheck-again-zomg, r=brson
The recent change of libdir on windows was accidentally not propagated to
`make dist` and related commands. This commit touches that up!

Closes #29640
2015-11-06 02:41:20 +00:00
bors
41308a0520 Auto merge of #29305 - alexcrichton:bad-getenv, r=brson
As discovered in #29298, `env::set_var("", "")` will panic, but it turns out
that it *also* deadlocks on Unix systems. This happens because if a panic
happens while holding the environment lock, we then go try to read
RUST_BACKTRACE, grabbing the environment lock, causing a deadlock.

Specifically, the changes made here are:

* The environment lock is pushed into `std::sys` instead of `std::env`. This
  also only puts it in the Unix implementation, not Windows where the functions
  are already threadsafe.
* The `std::sys` implementation now returns `io::Result` so panics are
  explicitly at the `std::env` level.
2015-11-06 00:56:08 +00:00