Commit graph

533 commits

Author SHA1 Message Date
Alex Crichton
38bedfabb9 rustbuild: Switch back to using hard links
The `copy` function historically in rustbuild used hard links to speed up the
copy operations that it does. This logic was backed out, however, in #39518 due
to a bug that only showed up on Windows, described in #39504. The cause
described in #39504 happened because Cargo, on a fresh build, would overwrite
the previous artifacts with new hard links that Cargo itself manages.

This behavior in Cargo was fixed in rust-lang/cargo#4390 where it no longer
should overwrite files on fresh builds, opportunistically leaving the filesystem
intact and not touching it.

Hopefully this can help speed up local builds by doing fewer copies all over the
place!
2017-09-09 21:14:44 -07: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
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
Simon Sapin
f912d771ba Make git commit info optional and per-package in channel manifests
At the moment it is always missing for Cargo and RLS.
Their respective build systems need to be modified to include
`git-commit-hash` files in their "dist" tarballs.
2017-09-05 19:38:28 +02:00
Ralf Jung
adbb820352 rustbook: remove dead test functions 2017-09-04 13:04:53 +02:00
Manish Goregaokar
9e644e2da6
Resync clippy to v0.0.156 2017-09-03 14:33:28 -07:00
bors
5e9431a6f5 Auto merge of #44176 - nrc:update-rls, r=alexcrichton
Update rls

And expose the `CFG_VERSION` env var to tools so they can determine the version of Rust.

This gets the RLS back on master and so completes the PR dance for the generators PR.

r? @alexcrichton
2017-09-03 00:51:47 +00:00
bors
204c0a47e7 Auto merge of #43886 - oli-obk:clippy, r=nrc
Add clippy as a submodule

~~This builds clippy as part of `./x.py build` (locally and in CI).~~

This allows building clippy with `./x.py build src/tools/clippy`

~~Needs https://github.com/nrc/dev-tools-team/issues/18#issuecomment-322456461 to be resolved before it can be merged.~~ Contributers can simply open a PR to clippy and point the submodule at the `pull/$pr_number/head` branch.

This does **not** build clippy or test the clippy test suite at all as per https://github.com/nrc/dev-tools-team/issues/18#issuecomment-321411418

r? @nrc

cc @Manishearth @llogiq @mcarton @alexcrichton
2017-09-02 17:17:14 +00:00
Mark Simulacrum
1b758fb6e3 Update cargo.
This includes https://github.com/rust-lang/cargo/pull/4447 which fixes
a bug in Cargo that is needed to fix
https://github.com/rust-lang/rust/issues/44237.
2017-09-01 21:15:47 -06:00
Alex Crichton
9e5a7e9472 Bring back stage0 allocator logic on MSVC
I think there may still be bugs preventing its removal..
2017-08-31 18:20:52 -07:00
Simon Sapin
de038b746e 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-08-31 16:37:14 +02:00
Alex Crichton
7a2a8d7d60 Update Cargo to 0.23.0 and our lockfile 2017-08-31 07:02:50 -07:00
Alex Crichton
2972687d10 Update bootstrap compiler
This commit updates the bootstrap compiler and clears out a number
of #[cfg(stage0)] annotations and related business
2017-08-31 06:58:58 -07:00
bors
97b01abf3d Auto merge of #41991 - GuillaumeGomez:rustdoc-html-diff, r=nrc
Add warnings when rustdoc html rendering differs
2017-08-31 08:52:03 +00:00
Nick Cameron
92867d22a8 Update rls 2017-08-31 15:24:23 +12:00
Guillaume Gomez
76e32210d1 Add license exceptions 2017-08-30 20:07:58 +02:00
Ariel Ben-Yehuda
294ce22f76 Rollup merge of #44141 - nrc:rls-preview-beta, r=alexcrichton
Rename the rls component to rls-preview on beta/stable

Background is that we will have automatic renaming with the next rustup release. We'll then rename rls to rls-preview. In the meantime, this ensures beta/stable users will always have rls-preview.

r? @alexcrichton
2017-08-29 21:41:02 +00:00
Ariel Ben-Yehuda
29f360b179 Rollup merge of #44126 - laumann:config-doc-comments, r=nikomatsakis
compiletest: Change Config comments to doc comments

I plan to make the same change in compiletest-rs, to have some documentation in [the docs](https://docs.rs/compiletest_rs/0.2.9/compiletest_rs/common/struct.Config.html).
2017-08-29 21:40:59 +00:00
Nick Cameron
d66f0c2072 Rename the rls component to rls-preview on beta/stable 2017-08-29 13:27:57 +12:00
Alex Crichton
a996d5eec7 Tweak rls submodule again 2017-08-28 07:32:25 -07:00
Thomas Jespersen
2bffa310a8 compiletest: Change Config comments to doc comments 2017-08-28 13:35:53 +02:00
Alex Crichton
9eff522c6d Update the rls submodule again 2017-08-27 21:01:16 -07:00
John Kåre Alsaker
d29af37999 Merge branch 'master' of https://github.com/rust-lang/rust into gen 2017-08-28 02:41:16 +02:00
John Kåre Alsaker
7c5780b356 Update rls 2017-08-28 02:39:17 +02:00
Tatsuyuki Ishi
a91bdf4ad5 Update Cargo submodule 2017-08-27 19:02:24 +09:00
Tatsuyuki Ishi
7a8d38e522 Additional libc cleanup 2017-08-27 19:02:24 +09:00
Mark Simulacrum
a947c6a595 Update cargo 2017-08-26 12:30:57 -06:00
Nick Cameron
7cb3f45063 Update RLS and Cargo 2017-08-25 18:12:47 -07:00
bors
a125ec918f Auto merge of #43907 - euclio:command, r=alexcrichton
Use std::process::Command throughout compile-test

Resubmission of #43798.

Fixes #43762.

r? @alexcrichton
2017-08-24 10:02:18 +00:00
Andy Russell
91bfe3f55b
capture adb shell stdout 2017-08-23 17:32:09 -04:00
Andy Russell
02e95e508d
remove needless clone 2017-08-22 10:09:54 -05:00
bors
e822e4e62f Auto merge of #43950 - redox-os:redox_docker, r=alexcrichton
Add x86_64-unknown-redox to build manifest target list

This should fix the issue of `x86_64-unknown-redox` not being available for `rustup target add`
2017-08-20 02:25:20 +00:00
Jeremy Soller
2fdade4c2a Add x86_64-unknown-redox to build manifest target list 2017-08-17 14:58:47 -06:00
Andy Russell
88bac1f745
remove procsrv module 2017-08-16 11:45:08 -04:00
Andy Russell
6f21239fa5
remove extra_args argument 2017-08-16 11:45:07 -04:00
Andy Russell
04dee08501
return Command from make_compile_args 2017-08-16 11:45:07 -04:00
Andy Russell
90a87be9cb
make compose_and_run_compiler take Command 2017-08-16 11:45:06 -04:00
Andy Russell
0a666f87ca
remove working_dir argument 2017-08-16 11:45:06 -04:00
Andy Russell
e385bc5bcc
let compose_and_run take a Command 2017-08-16 11:45:05 -04:00
Andy Russell
6601ffca07
replace procsrv functions with Command 2017-08-16 11:45:05 -04:00
Zack M. Davis
1b6c9605e4 use field init shorthand EVERYWHERE
Like #43008 (f668999), but _much more aggressive_.
2017-08-15 15:29:17 -07:00
Oliver Schneider
b9e4bdbf60
Add a Cargo.lock to clippy 2017-08-15 18:28:10 +02:00
Oliver Schneider
1766992662 Add clippy as a submodule 2017-08-15 17:31:28 +02:00
Mark Simulacrum
82cdf1006e Cargotest needs only one rustdoc.exe to exist on Windows 2017-08-13 05:15:44 +05:00
Guillaume Gomez
643231313a Rollup merge of #43632 - ruuda:allow-long-relative-urls, r=Mark-Simulacrum
Detect relative urls in tidy check

This came up in #43631: there can be long relative urls in Markdown comments, that do not start with `http://` or `https://`, so the tidy check will not detect them as urls and complain about the line length. This PR adds detection of relative urls starting with `../`.
2017-08-11 10:20:17 +02:00
bors
6c5212ffa0 Auto merge of #43589 - aidanhs:aphs-fix-system-malloc, r=alexcrichton
Make a disable-jemalloc build work

Fixes #43510. I've tested this up to building a stage1 compiler.

r? @alexcrichton

cc @cuviper @vorner

@cuviper your fix was almost correct, you just had a stray `!` in there which caused the second error you saw.
2017-08-10 22:32:51 +00:00
Aidan Hobson Sayers
56a07539c0 Fix cross-crate global allocators on windows 2017-08-10 16:22:09 +01:00
bors
2400ebfe76 Auto merge of #43522 - alexcrichton:rewrite-lints, r=michaelwoerister
rustc: Rearchitect lints to be emitted more eagerly

In preparation for incremental compilation this commit refactors the lint
handling infrastructure in the compiler to be more "eager" and overall more
incremental-friendly. Many passes of the compiler can emit lints at various
points but before this commit all lints were buffered in a table to be emitted
at the very end of compilation. This commit changes these lints to be emitted
immediately during compilation using pre-calculated lint level-related data
structures.

Linting today is split into two phases, one set of "early" lints run on the
`syntax::ast` and a "late" set of lints run on the HIR. This commit moves the
"early" lints to running as late as possible in compilation, just before HIR
lowering. This notably means that we're catching resolve-related lints just
before HIR lowering. The early linting remains a pass very similar to how it was
before, maintaining context of the current lint level as it walks the tree.

Post-HIR, however, linting is structured as a method on the `TyCtxt` which
transitively executes a query to calculate lint levels. Each request to lint on
a `TyCtxt` will query the entire crate's 'lint level data structure' and then go
from there about whether the lint should be emitted or not.

The query depends on the entire HIR crate but should be very quick to calculate
(just a quick walk of the HIR) and the red-green system should notice that the
lint level data structure rarely changes, and should hopefully preserve
incrementality.

Overall this resulted in a pretty big change to the test suite now that lints
are emitted much earlier in compilation (on-demand vs only at the end). This in
turn necessitated the addition of many `#![allow(warnings)]` directives
throughout the compile-fail test suite and a number of updates to the UI test
suite.

Closes https://github.com/rust-lang/rust/issues/42511
2017-08-10 11:20:15 +00:00
bors
d21ec9b4ef Auto merge of #43582 - ivanbakel:unused_mut_ref, r=arielb1
Fixed mutable vars being marked used when they weren't

#### NB : bootstrapping is slow on my machine, even with `keep-stage` - fixes for occurances in the current codebase are <s>in the pipeline</s> done. This PR is being put up for review of the fix of the issue.

Fixes #43526, Fixes #30280, Fixes #25049

### Issue
Whenever the compiler detected a mutable deref being used mutably, it marked an associated value as being used mutably as well. In the case of derefencing local variables which were mutable references, this incorrectly marked the reference itself being used mutably, instead of its contents - with the consequence of making the following code emit no warnings
```
fn do_thing<T>(mut arg : &mut T) {
    ... // don't touch arg - just deref it to access the T
}
```

### Fix
Make dereferences not be counted as a mutable use, but only when they're on borrows on local variables.
#### Why not on things other than local variables?
  * Whenever you capture a variable in a closure, it gets turned into a hidden reference - when you use it in the closure, it gets dereferenced. If the closure uses the variable mutably, that is actually a mutable use of the thing being dereffed to, so it has to be counted.
  * If you deref a mutable `Box` to access the contents mutably, you are using the `Box` mutably - so it has to be counted.
2017-08-10 08:53:22 +00:00
Isaac van Bakel
8f78d453de Updated cargo submodule to fix compile error 2017-08-10 02:00:48 +01:00