Commit Graph

57655 Commits

Author SHA1 Message Date
Tobias Bucher
b3f2644b66 Implement reading and writing atomically at certain offsets
These functions allow to read from and write to a file in one atomic
action from multiple threads, avoiding the race between the seek and the
read.

The functions are named `{read,write}_at` on non-Windows (which don't
change the file cursor), and `seek_{read,write}` on Windows (which
change the file cursor).
2016-10-09 10:48:07 +02:00
bors
b98cc352cb Auto merge of #36637 - GuillaumeGomez:fix_run_button, r=bluss
Fixes run button appearing when it shouldn't

Fixes #36621.

r? @steveklabnik
2016-10-08 19:42:55 -07:00
bors
19ac57926a Auto merge of #37041 - tbu-:pr_less_sizet_casts, r=alexcrichton
Use less `size_t` casts in libstd since it's now defined as `usize`
2016-10-08 15:59:49 -07:00
bors
bff06afbc5 Auto merge of #37027 - alexcrichton:less-deps-in-bootstrap, r=japaric
rustbuild: Optimize build times slightly

As the entry point for building the Rust compiler, a good user experience hinges
on this compiling quickly to get to the meat of the problem. To that end use
`#[cfg]`-specific dependencies to avoid building Windows crates on Unix and drop
the `regex` crate for now which was easily replacable with some string
searching.
2016-10-08 12:36:11 -07:00
Alex Crichton
d17f0b0dd7 rustbuild: Optimize build times slightly
As the entry point for building the Rust compiler, a good user experience hinges
on this compiling quickly to get to the meat of the problem. To that end use
`#[cfg]`-specific dependencies to avoid building Windows crates on Unix and drop
the `regex` crate for now which was easily replacable with some string
searching.
2016-10-08 11:11:00 -07:00
Tobias Bucher
717d2ddca7 Use less size_t casts in libstd since it's now defined as usize 2016-10-08 15:48:28 +02:00
bors
4344f147aa Auto merge of #37039 - Manishearth:rollup, r=Manishearth
Rollup of 6 pull requests

- Successful merges: #36937, #37016, #37028, #37029, #37031, #37034
- Failed merges: #37027
2016-10-08 05:55:27 -07:00
Manish Goregaokar
69f4126da5 Rollup merge of #37034 - nox:empty-trait-list, r=alexcrichton
Do not add an empty #[derive()] list in expand_derive (fixes #37033)
2016-10-08 16:52:44 +05:30
Manish Goregaokar
c1a19b8481 Rollup merge of #37031 - fitzgen:typo-in-gcc-rs-comment, r=alexcrichton
Fix a typo in a comment describing gcc.rs's eh_frame_registry module

s/reigster/register/

r? @alexcrichton
2016-10-08 16:52:43 +05:30
Manish Goregaokar
73a9b8accd Rollup merge of #37029 - japaric:no-panics-in-checked-ops, r=alexcrichton
rewrite checked_{div,rem} to no contain any reference to panics

even without optimizations

r? @alexcrichton
2016-10-08 16:52:43 +05:30
Manish Goregaokar
3e6cc822d3 Rollup merge of #37028 - alexcrichton:fix-deps, r=japaric
rustbuild: Fix dependencies of check-docs step

Some of the doc tests depend on `extern crate test`, so depend on libtest
instead of libstd here.
2016-10-08 16:52:43 +05:30
Manish Goregaokar
06c5bd5135 Rollup merge of #37016 - alexcrichton:workspaces, r=japaric
Leverage Cargo workspaces in rustbuild

This is a continuation of https://github.com/rust-lang/rust/pull/36032 which implements the change to use `cargo metadata` to learn about the crate graph.
2016-10-08 16:52:43 +05:30
Manish Goregaokar
1d204685a4 Rollup merge of #36937 - wesleywiser:patch-3, r=frewsxcv
Fix documentation for `write!` on `std::fmt` page

Fixes #36906
2016-10-08 16:52:43 +05:30
bors
b5fcca5cd7 Auto merge of #37015 - ahmedcharles:sudo, r=alexcrichton
Prevent accidentally running 'make install' as sudo.

r? @alexcrichton

I missed this in the previous PR, but this seems to work. It should probably go in a rollup, but I don't know how to do those. :/
2016-10-08 02:23:47 -07:00
bors
195dbfa098 Auto merge of #37014 - nnethercote:avoid-pat_to_string, r=arielb1
Avoid some `pat_to_string` calls.

`ty_of_method_or_bare_fn` currently calls `pat_to_string` even when it
doesn't need to. Fixing this avoids hundreds of large allocations (e.g.
171,600 bytes, in `mk_printer`) in several of rustc-benchmarks.
2016-10-07 22:51:04 -07:00
bors
49be16e766 Auto merge of #37006 - brson:jsbackend, r=alexcrichton
Turn on JSBackend in the makefiles

This should make the nightlies work with emscripten. r? @alexcrichton

Closes #37004
2016-10-07 18:17:54 -07:00
Alex Crichton
147e2da13a rustbuild: Use cargo metadata to learn about DAG
This updates the commit to use workspaces to use `cargo metadata` instead of
hardcoded lists about what to test. This should help us be resilient to updates
in the future on behalf of the crate DAG and minimize the amount of files that
need to be touched.
2016-10-07 17:17:07 -07:00
Anthony Ramine
0d1ab4e9e4 Do not add an empty #[derive()] list in expand_derive (fixes #37033) 2016-10-08 01:49:11 +02:00
Nick Fitzgerald
75c0d3f657 Fix a typo in a comment describing gcc.rs's eh_frame_registry module
s/reigster/register/
2016-10-07 15:00:48 -07:00
Jorge Aparicio
c66ae29883 rewrite checked_{div,rem} to no contain any reference to panics
even without optimizations
2016-10-07 15:14:28 -05:00
Alex Crichton
32089ae2c6 rustbuild: Fix dependencies of check-docs step
Some of the doc tests depend on `extern crate test`, so depend on libtest
instead of libstd here.
2016-10-07 12:28:54 -07:00
Ahmed Charles
9ca382f95f Use workspaces and switch to a single Cargo.lock.
This involves hacking the code used to run cargo test on various
packages, because it reads Cargo.lock to determine which packages should
be tested. This change implements a blacklist, since that will catch new
crates when they are added in the future.
2016-10-07 12:04:32 -07:00
bors
6e8f92f11c Auto merge of #36981 - alexcrichton:catch-unwind-for-tests, r=sfackler
std: Minor cleanup to libtest

* Don't spawn two threads for all tests, just one now that `catch_unwind` is
  stable.
* Remove usage of the unstable `box` keyword
* Remove usage of the unstable `FnBox` trait
2016-10-07 11:38:27 -07:00
bors
ca76c7e014 Auto merge of #36945 - alexcrichton:proc-macro-rename, r=nrc
rustc: Rename rustc_macro to proc_macro

This commit blanket renames the `rustc_macro` infrastructure to `proc_macro`,
which reflects the general consensus of #35900. A follow up PR to Cargo will be
required to purge the `rustc-macro` name as well.
2016-10-07 07:58:27 -07:00
Nicholas Nethercote
e5ffaded39 Avoid some pat_to_string calls.
`ty_of_method_or_bare_fn` currently calls `pat_to_string` even when it
doesn't need to. Fixing this avoids hundreds of large allocations (e.g.
171,600 bytes, in `mk_printer`) in several of the rustc-benchmarks.
2016-10-08 00:59:49 +11:00
Wesley Wiser
bbd0040bb3 Fix documentation for write! on std::fmt page
Fixes #36906
2016-10-07 09:53:23 -04:00
bors
e51190cf07 Auto merge of #37024 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 5 pull requests

- Successful merges: #36222, #36665, #36929, #37003, #37008
- Failed merges:
2016-10-07 04:24:24 -07:00
Guillaume Gomez
3e6307644a Rollup merge of #37008 - tshepang:quotes, r=steveklabnik
reference: use ticks instead of quotes
2016-10-07 11:45:05 +02:00
Guillaume Gomez
b40285102b Rollup merge of #37003 - GuillaumeGomez:underline-removal, r=steveklabnik
Remove underline when run button hovered

r? @steveklabnik
2016-10-07 11:45:04 +02:00
Guillaume Gomez
bf41e9fee2 Rollup merge of #36929 - angelsl:issue-36683, r=steveklabnik
Reference: Mention `move` keyword for lambdas

From issue #36683
2016-10-07 11:45:04 +02:00
Guillaume Gomez
c75001b2af Rollup merge of #36665 - kmcallister:arc-docs, r=steveklabnik
Update Arc docs to match new Rc docs

`Rc` docs were updated in #36571. This applies similar changes to `Arc` docs.

r? @GuillaumeGomez
2016-10-07 11:45:04 +02:00
Guillaume Gomez
85e95cc801 Rollup merge of #36222 - acrrd:better_underline_E0057, r=GuillaumeGomez
Better underline for E0057,E0060,E0061

Fix #35214
Part of #35233

r? @jonathandturner
2016-10-07 11:45:04 +02:00
bors
e2bd2d83dd Auto merge of #36940 - eulerdisk:incr_test_for_hash_trait, r=michaelwoerister
Test Case for Incr. Comp. Hash for traits #36681.

Fixes #36681
Part of #36350

Currently, the following tests fail:

Unsafe modifier
Extern modifier
Extern c to rust-intrinsic
Trait unsafety
Change type of method parameter (&i32 => &mut i32)
Mode of self parameter

r? @michaelwoerister
2016-10-07 00:51:28 -07:00
bors
b4e89728f4 Auto merge of #36753 - srinivasreddy:hash, r=nrc
run rustfmt on libstd/collections/hash folder
2016-10-06 21:53:29 -07:00
Ahmed Charles
f171d98804 Prevent accidentally running 'make install' as sudo. 2016-10-06 19:38:30 -07:00
bors
75c155b834 Auto merge of #35641 - ahmedcharles:install, r=alexcrichton
rustbuild: Add install target. #34675

It just prints to the screen currently.

r? @alexcrichton

I'm working on the next commit to actually have it install.
2016-10-06 16:31:27 -07:00
Tshepang Lekhonkhobe
13f9dae8e9 reference: use ticks instead of quotes 2016-10-06 22:29:05 +02:00
Andrea Corradi
d0c6172501 Better underline for E0057,E0060,E0061 2016-10-06 22:02:46 +02:00
Brian Anderson
5388d3fbe8 Turn on JSBackend in the makefiles 2016-10-06 19:02:28 +00:00
bors
ad19c32a58 Auto merge of #37002 - jonathandturner:rollup, r=jonathandturner
Rollup of 15 pull requests

- Successful merges: #36726, #36832, #36909, #36930, #36932, #36957, #36959, #36960, #36962, #36965, #36966, #36967, #36972, #36974, #36977
- Failed merges:
2016-10-06 11:42:34 -07:00
Alex Crichton
2148bdfcc7 rustc: Rename rustc_macro to proc_macro
This commit blanket renames the `rustc_macro` infrastructure to `proc_macro`,
which reflects the general consensus of #35900. A follow up PR to Cargo will be
required to purge the `rustc-macro` name as well.
2016-10-06 11:07:23 -07:00
Guillaume Gomez
4b402dbe69 Remove underline when run button hovered 2016-10-06 18:10:00 +02:00
Alex Crichton
0714024c99 std: Minor cleanup to libtest
* Don't spawn two threads for all tests, just one now that `catch_unwind` is
  stable.
* Remove usage of the unstable `box` keyword
* Remove usage of the unstable `FnBox` trait
2016-10-06 09:02:33 -07:00
Jonathan Turner
89aebdbce8 Rollup merge of #36977 - Razican:bufreader_typo_fix, r=alexcrichton
Fixed small typo in `BufRead` comments

`BufRead` comments, in the `Seek` trait	implementation, was talking about allocating 8 *ebibytes*. It was a typo, the correct unit is *exbibytes*, since *ebibytes* don't even exist.	The calculation is correct, though.
2016-10-06 08:35:44 -07:00
Jonathan Turner
2c8c0defab Rollup merge of #36974 - MathieuBordere:mb/36812_ICHFunctionInterfaces, r=michaelwoerister
Mb/36812 ich function interfaces

r? @michaelwoerister

This PR contains fixes for #36812 and #36914
2016-10-06 08:35:43 -07:00
Jonathan Turner
9ceef4e004 Rollup merge of #36972 - nastevens:fix-rustbuild-per-target-musl-root, r=alexcrichton
Fix rustbuild per-target musl root

In #36292, support was added to target musl libc for ARM targets using rustbuild. Specifically, that change allowed the addition of per-target `musl-root` options in the rustbuild `config.toml` so that multiple targets depending on musl could be built. However, that implementation contained a couple of omissions: the `musl-root` option was added to the config, but was never added to the TOML parsing, and therefore was not actually being loaded from `config.toml`. This PR rectifies that.

Using these changes and a heavily modified version of the buildbot Docker container, I have been able to build rust targeting `armv7-unknown-linux-musleabihf` and have successfully run the binaries on a Raspberry Pi 3. I'm also planning to test `arm-unknown-linux-musleabi` and `arm-unknown-linux-musleabihf` systems, but have no reason to believe that this change would not simply work on those targets.
2016-10-06 08:35:43 -07:00
Jonathan Turner
a19e22e2e9 Rollup merge of #36967 - edre:master, r=alexcrichton
update sip.rs for new intrinsics and defaults
2016-10-06 08:35:43 -07:00
Jonathan Turner
4c100260e0 Rollup merge of #36966 - ollie27:rustdoc_mut_ptr_impl, r=alexcrichton
rustdoc: Fix missing *mut T impl

`impl<T> *mut T` is currently missing from
https://doc.rust-lang.org/nightly/std/primitive.pointer.html and this adds
it back.
2016-10-06 08:35:43 -07:00
Jonathan Turner
0698929563 Rollup merge of #36965 - kallisti5:master, r=alexcrichton
Haiku: Fix IPv6 target_os check
2016-10-06 08:35:43 -07:00
Jonathan Turner
ed5a3c01a0 Rollup merge of #36962 - arielb1:cast-assumptions, r=eddyb
Emit more assumptions in trans

Perf numbers pending.
2016-10-06 08:35:42 -07:00