Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 21 pull requests #49325

Closed
wants to merge 70 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
aaac69f
Fix Issue #48345, is_file, is_dir, and is_symlink note mutual exclusion
Mar 16, 2018
683ad94
Add OnDrop
Zoxc Mar 15, 2018
3b43dcb
Replace Rc with Lrc
Zoxc Mar 14, 2018
910bf84
Always print `aborting due to n previous error(s)` and only print it …
Zoxc Mar 15, 2018
b1d872b
Update tests
Zoxc Mar 15, 2018
6fd4d67
rustbuild: Tweak where timing information goes
alexcrichton Mar 16, 2018
b57ea56
Stabilise FromUtf8Error::as_bytes
varkor Mar 17, 2018
b498192
Add a -Z flag for LLVM align attributes on arguments
scottmcm Mar 17, 2018
efa9016
Add a CI job for parallel rustc using x.py check
Zoxc Mar 17, 2018
c5c650d
Split out termination_trait_test feature gate
tmandry Mar 19, 2018
97b3bf9
Stabilize termination_trait
tmandry Mar 19, 2018
e5a55e7
Stabilize termination_trait in 1.25, not 1.26
tmandry Mar 19, 2018
be29e52
Match against friendly error message
tmandry Mar 20, 2018
5ccf3ff
diagnostics: Remove main return type errors from E0580
tmandry Mar 20, 2018
72334fe
typeck: Report main return type errors on return type span
tmandry Mar 20, 2018
57896ab
Make resuming generators unsafe instead of the creation of immovable …
Zoxc Mar 19, 2018
1937661
Revert "Stabilize termination_trait in 1.25, not 1.26"
tmandry Mar 21, 2018
94bdeb6
termination_trait: Add () example to error message
tmandry Mar 21, 2018
2cdc7af
Use NOTE instead of error-pattern directive
tmandry Mar 21, 2018
5201e7c
document format_args! behavior wrt. Display and Debug
Centril Mar 21, 2018
afff64e
document format_args! further wrt. Debug & Display"
Centril Mar 21, 2018
06f8103
Bump racer and home
Eijebong Mar 21, 2018
75dcc61
Cargo fmt libtest
topecongiro Mar 21, 2018
b6934c9
termination_trait: Put examples in error help, not label
tmandry Mar 21, 2018
178652a
Add support to rustbuild for a 'rustc docs' component tarball
davidtwco Mar 20, 2018
1392179
Configure the dist-x86_64-linux builder to produce compiler documenta…
davidtwco Mar 20, 2018
c116b0e
Fixed clockwise/counter-clockwise in atan2 documentation in f32 and f64
Tacklebox Mar 22, 2018
776c0be
Stabilize universal_impl_trait
cramertj Mar 22, 2018
d818194
Stabilize conservative_impl_trait
cramertj Mar 22, 2018
2b13d95
termination_trait: Make error message more helpful
tmandry Mar 22, 2018
613fb8b
document format_args! - fix trailing whitespace
Centril Mar 22, 2018
a1a3bf2
Fix DefKey lookup for proc-macro crates.
michaelwoerister Mar 22, 2018
9839e5f
Remove slow HashSet during miri stack frame creation
oli-obk Mar 22, 2018
9fa14e4
Skip checking for Storage* statements in constants/statics
oli-obk Mar 22, 2018
1b0e9f5
Only generate documentation for local rustc crates.
davidtwco Mar 22, 2018
73fa6d5
Remove std/test documentation from compiler docs.
davidtwco Mar 22, 2018
86f7d89
Allow installing rustfmt without config.extended
cuviper Mar 23, 2018
bf8e4f2
Vec<_> -> IndexVec<Local, _>
oli-obk Mar 23, 2018
b18b776
Replace uses of `Hash(Map|Set)` with `FxHash(Map|Set)` in miri
oli-obk Mar 23, 2018
4ea4dd2
Don't allocate a local array at all if there are no locals
oli-obk Mar 23, 2018
ee67e14
Stabilize the copy_closures and clone_closures features
SimonSapin Mar 23, 2018
f9019ae
Simplify local accessors
oli-obk Mar 23, 2018
00721de
Mention closures in docs for Clone and Copy
SimonSapin Mar 23, 2018
1efe0b3
Rename variables in rustc’s SelectionContext::copy_clone_conditions
SimonSapin Mar 23, 2018
90588a9
Fix IE11 search
GuillaumeGomez Mar 23, 2018
700fd5a
Remove getopts leftover from tree
Mark-Simulacrum Mar 23, 2018
3bfed9e
Better diagnostics for '..' pattern fragment not in the last position
ordovicia Mar 22, 2018
f8fc5c0
Fix error annotations in test
ordovicia Mar 22, 2018
3d0ccb2
Fix test for PR #49268
ordovicia Mar 23, 2018
e551f24
Rollup merge of #49089 - alexcrichton:fix-timings, r=Mark-Simulacrum
kennytm Mar 24, 2018
537f0d5
Rollup merge of #49120 - Zoxc:parallel-ci, r=alexcrichton
kennytm Mar 24, 2018
cd9981c
Rollup merge of #49121 - varkor:stabilise-from_utf8_error_as_bytes, r…
kennytm Mar 24, 2018
0809a7b
Rollup merge of #49122 - scottmcm:z-align-attr, r=cramertj
kennytm Mar 24, 2018
22447cf
Rollup merge of #49193 - davidtwco:issue-29893, r=alexcrichton
kennytm Mar 24, 2018
1a890a6
Rollup merge of #49235 - topecongiro:run-rustfmt/libtest, r=nrc
kennytm Mar 24, 2018
0e4de4a
Rollup merge of #49254 - Tacklebox:atan2_doc, r=QuietMisdreavus
kennytm Mar 24, 2018
3dd136d
Rollup merge of #49268 - ordovicia:dotdot-pattern-diag, r=petrochenkov
kennytm Mar 24, 2018
f81f871
Rollup merge of #49273 - michaelwoerister:fix-extern-proc-macro-defke…
kennytm Mar 24, 2018
be5a452
Rollup merge of #49274 - oli-obk:slow_miri, r=michaelwoerister,eddyb
kennytm Mar 24, 2018
d6febd5
Rollup merge of #49290 - cuviper:unextended-dist-rustfmt, r=nikomatsakis
kennytm Mar 24, 2018
5082bde
Rollup merge of #49312 - GuillaumeGomez:fix-ie11-search, r=QuietMisdr…
kennytm Mar 24, 2018
8d2792e
Rollup merge of #49314 - Mark-Simulacrum:remove-getopts, r=alexcrichton
kennytm Mar 24, 2018
a64cd26
Rollup merge of #49162 - tmandry:stabilize-termination-trait, r=nikom…
kennytm Mar 24, 2018
101f7c2
Rollup merge of #49076 - bobdavelisafrank:filetype-metadata-docfix, r…
kennytm Mar 24, 2018
85abb05
Rollup merge of #49194 - Zoxc:unsafe-generator, r=cramertj
kennytm Mar 24, 2018
175595a
Rollup merge of #49229 - Centril:doc/format_args_display_debug, r=ste…
kennytm Mar 24, 2018
0acfcb8
Rollup merge of #49046 - Zoxc:error-summary, r=michaelwoerister
kennytm Mar 24, 2018
6560452
Rollup merge of #49255 - cramertj:stable-impl-trait, r=nikomatsakis
kennytm Mar 24, 2018
02d6f64
Rollup merge of #49299 - SimonSapin:ubiquity, r=nikomatsakis
kennytm Mar 24, 2018
f34d4f6
Rollup merge of #49203 - Eijebong:lets-cleanup-dependencies, r=Mark-S…
kennytm Mar 24, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions config.toml.example
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,9 @@
# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
#backtrace = true

# Build rustc with experimental parallelization
#experimental-parallel-queries = false

# The default linker that will be hard-coded into the generated compiler for
# targets that don't specify linker explicitly in their target specifications.
# Note that this is not the linker used to link said compiler.
Expand Down
114 changes: 12 additions & 102 deletions src/Cargo.lock

Large diffs are not rendered by default.

12 changes: 7 additions & 5 deletions src/bootstrap/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,13 @@ impl<'a> Builder<'a> {
test::RunMake),
Kind::Bench => describe!(test::Crate, test::CrateLibrustc),
Kind::Doc => describe!(doc::UnstableBook, doc::UnstableBookGen, doc::TheBook,
doc::Standalone, doc::Std, doc::Test, doc::Rustc, doc::ErrorIndex, doc::Nomicon,
doc::Reference, doc::Rustdoc, doc::RustByExample, doc::CargoBook),
Kind::Dist => describe!(dist::Docs, dist::Mingw, dist::Rustc, dist::DebuggerScripts,
dist::Std, dist::Analysis, dist::Src, dist::PlainSourceTarball, dist::Cargo,
dist::Rls, dist::Rustfmt, dist::Extended, dist::HashSign),
doc::Standalone, doc::Std, doc::Test, doc::WhitelistedRustc, doc::Rustc,
doc::ErrorIndex, doc::Nomicon, doc::Reference, doc::Rustdoc, doc::RustByExample,
doc::CargoBook),
Kind::Dist => describe!(dist::Docs, dist::RustcDocs, dist::Mingw, dist::Rustc,
dist::DebuggerScripts, dist::Std, dist::Analysis, dist::Src,
dist::PlainSourceTarball, dist::Cargo, dist::Rls, dist::Rustfmt, dist::Extended,
dist::HashSign),
Kind::Install => describe!(install::Docs, install::Std, install::Cargo, install::Rls,
install::Rustfmt, install::Analysis, install::Src, install::Rustc),
}
Expand Down
20 changes: 12 additions & 8 deletions src/bootstrap/check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,18 @@ impl Step for Std {
let target = self.target;
let compiler = builder.compiler(0, build.build);

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Checking std artifacts ({} -> {})", &compiler.host, target);

let out_dir = build.stage_out(compiler, Mode::Libstd);
build.clear_if_dirty(&out_dir, &builder.rustc(compiler));
let mut cargo = builder.cargo(compiler, Mode::Libstd, target, "check");
std_cargo(builder, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Checking std artifacts ({} -> {})", &compiler.host, target);
run_cargo(build,
&mut cargo,
&libstd_stamp(build, compiler, target),
true);

let libdir = builder.sysroot_libdir(compiler, target);
add_to_sysroot(&libdir, &libstd_stamp(build, compiler, target));
}
Expand Down Expand Up @@ -86,19 +87,20 @@ impl Step for Rustc {
let compiler = builder.compiler(0, build.build);
let target = self.target;

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Checking compiler artifacts ({} -> {})", &compiler.host, target);

let stage_out = builder.stage_out(compiler, Mode::Librustc);
build.clear_if_dirty(&stage_out, &libstd_stamp(build, compiler, target));
build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target));

let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "check");
rustc_cargo(build, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Checking compiler artifacts ({} -> {})", &compiler.host, target);
run_cargo(build,
&mut cargo,
&librustc_stamp(build, compiler, target),
true);

let libdir = builder.sysroot_libdir(compiler, target);
add_to_sysroot(&libdir, &librustc_stamp(build, compiler, target));
}
Expand Down Expand Up @@ -128,16 +130,18 @@ impl Step for Test {
let target = self.target;
let compiler = builder.compiler(0, build.build);

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Checking test artifacts ({} -> {})", &compiler.host, target);
let out_dir = build.stage_out(compiler, Mode::Libtest);
build.clear_if_dirty(&out_dir, &libstd_stamp(build, compiler, target));
let mut cargo = builder.cargo(compiler, Mode::Libtest, target, "check");
test_cargo(build, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Checking test artifacts ({} -> {})", &compiler.host, target);
run_cargo(build,
&mut cargo,
&libtest_stamp(build, compiler, target),
true);

let libdir = builder.sysroot_libdir(compiler, target);
add_to_sysroot(&libdir, &libtest_stamp(build, compiler, target));
}
Expand Down
27 changes: 14 additions & 13 deletions src/bootstrap/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,6 @@ impl Step for Std {
return;
}

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Building stage{} std artifacts ({} -> {})", compiler.stage,
&compiler.host, target);

if target.contains("musl") {
let libdir = builder.sysroot_libdir(compiler, target);
copy_musl_third_party_objects(build, target, &libdir);
Expand All @@ -106,6 +102,10 @@ impl Step for Std {
build.clear_if_dirty(&out_dir, &builder.rustc(compiler));
let mut cargo = builder.cargo(compiler, Mode::Libstd, target, "build");
std_cargo(builder, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-std", compiler.stage));
println!("Building stage{} std artifacts ({} -> {})", compiler.stage,
&compiler.host, target);
run_cargo(build,
&mut cargo,
&libstd_stamp(build, compiler, target),
Expand Down Expand Up @@ -360,13 +360,14 @@ impl Step for Test {
return;
}

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Building stage{} test artifacts ({} -> {})", compiler.stage,
&compiler.host, target);
let out_dir = build.stage_out(compiler, Mode::Libtest);
build.clear_if_dirty(&out_dir, &libstd_stamp(build, compiler, target));
let mut cargo = builder.cargo(compiler, Mode::Libtest, target, "build");
test_cargo(build, &compiler, target, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-test", compiler.stage));
println!("Building stage{} test artifacts ({} -> {})", compiler.stage,
&compiler.host, target);
run_cargo(build,
&mut cargo,
&libtest_stamp(build, compiler, target),
Expand Down Expand Up @@ -482,16 +483,16 @@ impl Step for Rustc {
target: build.build,
});

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Building stage{} compiler artifacts ({} -> {})",
compiler.stage, &compiler.host, target);

let stage_out = builder.stage_out(compiler, Mode::Librustc);
build.clear_if_dirty(&stage_out, &libstd_stamp(build, compiler, target));
build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target));

let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "build");
rustc_cargo(build, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-rustc", compiler.stage));
println!("Building stage{} compiler artifacts ({} -> {})",
compiler.stage, &compiler.host, target);
run_cargo(build,
&mut cargo,
&librustc_stamp(build, compiler, target),
Expand Down Expand Up @@ -634,8 +635,6 @@ impl Step for CodegenBackend {
.arg(build.src.join("src/librustc_trans/Cargo.toml"));
rustc_cargo_env(build, &mut cargo);

let _folder = build.fold_output(|| format!("stage{}-rustc_trans", compiler.stage));

match &*self.backend {
"llvm" | "emscripten" => {
// Build LLVM for our target. This will implicitly build the
Expand Down Expand Up @@ -685,6 +684,8 @@ impl Step for CodegenBackend {

let tmp_stamp = build.cargo_out(compiler, Mode::Librustc, target)
.join(".tmp.stamp");

let _folder = build.fold_output(|| format!("stage{}-rustc_trans", compiler.stage));
let files = run_cargo(build,
cargo.arg("--features").arg(features),
&tmp_stamp,
Expand Down
1 change: 1 addition & 0 deletions src/bootstrap/configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ def v(*args):
o("docs", "build.docs", "build standard library documentation")
o("compiler-docs", "build.compiler-docs", "build compiler documentation")
o("optimize-tests", "rust.optimize-tests", "build tests with optimizations")
o("experimental-parallel-queries", "rust.experimental-parallel-queries", "build rustc with experimental parallelization")
o("test-miri", "rust.test-miri", "run miri's test suite")
o("debuginfo-tests", "rust.debuginfo-tests", "build tests with debugger metadata")
o("quiet-tests", "rust.quiet-tests", "enable quieter output when running tests")
Expand Down
70 changes: 62 additions & 8 deletions src/bootstrap/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ impl Step for Docs {

let dst = image.join("share/doc/rust/html");
t!(fs::create_dir_all(&dst));
let src = build.out.join(host).join("doc");
let src = build.doc_out(host);
cp_r(&src, &dst);

let mut cmd = rust_installer(builder);
Expand All @@ -120,14 +120,69 @@ impl Step for Docs {
build.run(&mut cmd);
t!(fs::remove_dir_all(&image));

// As part of this step, *also* copy the docs directory to a directory which
// buildbot typically uploads.
if host == build.build {
let dst = distdir(build).join("doc").join(build.rust_package_vers());
t!(fs::create_dir_all(&dst));
cp_r(&src, &dst);
distdir(build).join(format!("{}-{}.tar.gz", name, host))
}
}

#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct RustcDocs {
pub stage: u32,
pub host: Interned<String>,
}

impl Step for RustcDocs {
type Output = PathBuf;
const DEFAULT: bool = true;

fn should_run(run: ShouldRun) -> ShouldRun {
run.path("src/librustc")
}

fn make_run(run: RunConfig) {
run.builder.ensure(RustcDocs {
stage: run.builder.top_stage,
host: run.target,
});
}

/// Builds the `rustc-docs` installer component.
fn run(self, builder: &Builder) -> PathBuf {
let build = builder.build;
let host = self.host;

let name = pkgname(build, "rustc-docs");

println!("Dist compiler docs ({})", host);
if !build.config.compiler_docs {
println!("\tskipping - compiler docs disabled");
return distdir(build).join(format!("{}-{}.tar.gz", name, host));
}

builder.default_doc(None);

let image = tmpdir(build).join(format!("{}-{}-image", name, host));
let _ = fs::remove_dir_all(&image);

let dst = image.join("share/doc/rust/html");
t!(fs::create_dir_all(&dst));
let src = build.compiler_doc_out(host);
cp_r(&src, &dst);

let mut cmd = rust_installer(builder);
cmd.arg("generate")
.arg("--product-name=Rustc-Documentation")
.arg("--rel-manifest-dir=rustlib")
.arg("--success-message=Rustc-documentation-is-installed.")
.arg("--image-dir").arg(&image)
.arg("--work-dir").arg(&tmpdir(build))
.arg("--output-dir").arg(&distdir(build))
.arg(format!("--package-name={}-{}", name, host))
.arg("--component-name=rustc-docs")
.arg("--legacy-manifest-dirs=rustlib,cargo")
.arg("--bulk-dirs=share/doc/rust/html");
build.run(&mut cmd);
t!(fs::remove_dir_all(&image));

distdir(build).join(format!("{}-{}.tar.gz", name, host))
}
}
Expand Down Expand Up @@ -1186,7 +1241,6 @@ impl Step for Rustfmt {
let build = builder.build;
let stage = self.stage;
let target = self.target;
assert!(build.config.extended);

println!("Dist Rustfmt stage{} ({})", stage, target);
let src = build.src.join("src/tools/rustfmt");
Expand Down
Loading