about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2018-07-29Auto merge of #52755 - kennytm:update-rustfmt, r=nrcbors-0/+7
Update rustfmt and RLS
2018-07-29Auto merge of #52767 - ljedrz:avoid_format, r=petrochenkovbors-1/+1
Prefer to_string() to format!() Simple benchmarks suggest in some cases it can be faster by even 37%: ``` test converting_f64_long ... bench: 339 ns/iter (+/- 199) test converting_f64_short ... bench: 136 ns/iter (+/- 34) test converting_i32_long ... bench: 87 ns/iter (+/- 16) test converting_i32_short ... bench: 87 ns/iter (+/- 49) test converting_str ... bench: 54 ns/iter (+/- 15) test formatting_f64_long ... bench: 349 ns/iter (+/- 176) test formatting_f64_short ... bench: 145 ns/iter (+/- 14) test formatting_i32_long ... bench: 98 ns/iter (+/- 14) test formatting_i32_short ... bench: 93 ns/iter (+/- 15) test formatting_str ... bench: 86 ns/iter (+/- 23) ```
2018-07-29Copy the test_data/ RLS tests into a writable directory.kennytm-0/+7
See rust-lang-nursery/rls#966 for details.
2018-07-28Don't format!() string literalsljedrz-11/+11
2018-07-27Prefer to_string() to format!()ljedrz-1/+1
2018-07-26Refactor is_external_tool into source_typeTatsuyuki Ishi-22/+32
2018-07-25bootstrap: use prepare_tool_cargo everywhereTatsuyuki Ishi-24/+22
In this way, RUSTC_NO_PREFER_DYNAMIC is already specified and not needed.
2018-07-25Discriminate between external and optional toolsTatsuyuki Ishi-14/+22
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-12/+34
2018-07-24Rollup merge of #52642 - ljedrz:expect_fun_call, r=Mark-Simulacrumkennytm-3/+3
Replace a few expect+format combos with unwrap_or_else+panic That way the error strings won't be created if the related errors are not triggered.
2018-07-24Rollup merge of #52627 - Mark-Simulacrum:rustdoc-test-correct, r=alexcrichtonkennytm-0/+1
Compile rustc before building tests for rustdoc r? @alexcrichton
2018-07-23Replace a few expect+format combos with unwrap_or_else+panicljedrz-3/+3
2018-07-22Compile rustc before building tests for rustdocMark Rousskov-0/+1
2018-07-23Rollup merge of #52594 - Mark-Simulacrum:error-index-stage0, r=alexcrichtonkennytm-2/+2
Run the error index tool against the sysroot libdir Previously when building the error index tool in stage 0 we would attempt to use stage 0 libraries, but because it depends on rustdoc, those don't exist: rustdoc is built against stage 1 libraries. This patch aligns those two and passes the stage 1 libdir to the error index. @GuillaumeGomez discovered that this hasn't worked (presumably for a long time now, but not sure). r? @alexcrichton
2018-07-22Rollup merge of #52465 - sekineh:add-ci-thumb, r=alexcrichtonkennytm-1/+3
Add CI test harness for `thumb*` targets. [IRR-2018-embedded] This pull request will do the following (rather trivial) changes: - Fix #52163. In other words, we enabled `./x.py test src/test/run-make` for `no_std` targets. - Modify `dist-various-1` Dockerfile. - CI now performs `run-make` test run on the targets below: - `thumbv6m-none-eabi` - `thumbv7m-none-eabi` - `thumbv7em-none-eabi` - `thumbv7em-none-eabihf`. - ~~Add `thumb-none` Dockerfile.~~ - ~~Initially, `thumbv7m-none-eabi`, `thumbv7em-none-eabi` and `thumbv7em-none-eabihf` are included as the tested target. `thumbv6m-none-eabi` is disabled for now because LLVM support is not certain.~~ - ~~Add `thumb-none` to .travis.yml~~ Note: - `run-make` tests are not implemented yet. This PR is test harness only. The amount of change is very small, but I'd like to open the pull request while the change is trivial. Because I'm not very used to pull request process, I want to make a small progress first. This PR will be a foundation for later additions. CC @kennytm @jamesmunns @nerdyvaishali
2018-07-21Run the error index tool against the sysroot libdirMark Rousskov-2/+2
Previously when building the error index tool in stage 0 we would attempt to use stage 0 libraries, but because it depends on rustdoc, those don't exist: rustdoc is built against stage 1 libraries. This patch aligns those two and passes the stage 1 libdir to the error index.
2018-07-21Treat no_std(target) == None case correctly.Hideki Sekine-1/+1
2018-07-18Rollup merge of #52464 - o01eg:patch-1, r=alexcrichtonkennytm-0/+2
Allow clippy to be installed with make install After #51122 clippy is available as a component but doesn't install when building from source. This PR allows to install clippy with extended tools.
2018-07-18Rollup merge of #52439 - o01eg:fix-52317, r=alexcrichtonkennytm-2/+3
Revert some changes from #51917 to fix custom libdir Should fix #52317 also adds `libdir` value to output.
2018-07-17Allow clippy to be installed with make installO01eg-0/+2
After #51122 clippy is available as a component but don't install when building from source. This PR allows to install clippy with extended tools.
2018-07-18Fix rust issue #52163Hideki Sekine-1/+3
2018-07-17Rollup merge of #52434 - Mark-Simulacrum:incremental-keep-stage, r=alexcrichtonkennytm-4/+1
Enable incremental independent of stage Previously we'd only do so for stage 0 but with keep-stage improvements it seems likely that we'll see more developers working in the stage 1, so we should allow enabling incremental for them.
2018-07-16Calculate the exact capacity for 2 HashMapsljedrz-1/+1
2018-07-16Enable incremental independent of stageMark Rousskov-4/+1
Previously we'd only do so for stage 0 but with keep-stage improvements it seems likely that we'll see more developers working in the stage 1, so we should allow enabling incremental for them. Ideally, the check we probably want is to only enable incremental for the last compiler build scheduled, but there's no good way to do so today. Just enabling incremental in all stages should be sufficient; we may be doing extra work that's needles -- compiling incrementally something that will never be recompiled in-place -- but that should be sufficiently unlikely (i.e., users either don't care or won't be compiling the compiler twice).
2018-07-16Revert some changes from #51917 to fix #52317.O01eg-2/+3
2018-07-15Auto merge of #52399 - semarie:llvmtools, r=alexcrichtonbors-0/+9
Disable LlvmTools packaging with external LLVM Fixes: #52102
2018-07-15tidy: avoid long lineSébastien Marie-1/+2
2018-07-15Disable LlvmTools packaging with external LLVMSébastien Marie-0/+8
Fixes: #52102
2018-07-14Change keep-stage to only affect the passed stageMark Rousskov-46/+40
The best way to build a stage 2 rustc is now probably ./x.py build --stage 2 src/rustc # once ./x.py build --stage 2 --keep-stage 1 src/rustc
2018-07-13Do not attempt to recompile codegen backend(s) with --keep-stageMark Rousskov-0/+10
Previously we'd attempt to recompile them and that would fail since we've essentially not built the entire compiler yet, or we're faking that fact. This commit should make us ignore the codegen backend build as well. Unlike the other compile steps, there is no CodegenBackendLink step that we run here, because that is done later as a part of assembling the final compiler and as an explicit function call.
2018-07-14Rollup merge of #51962 - crlf0710:patch-2, r=alexcrichtonkennytm-1/+2
Provide llvm-strip in llvm-tools component Shipping this tool gives people reliable way to reduce the generated executable size. I'm not sure if this strip tool is available from the llvm version current rust is built on. But let's take a look. @japaric
2018-07-12Rollup merge of #52220 - ljedrz:dyn_bootstrap, r=kennytmkennytm-5/+6
Deny bare trait objects in `src/bootstrap` Enforce `#![deny(bare_trait_objects)]` in `src/bootstrap`.
2018-07-12Rollup merge of #51816 - nodakai:conf-py-tmpfile, r=kennytmkennytm-5/+18
bootstrap: write texts to a .tmp file first for atomicity If you are using a hard-linked file as your config.toml, this change will affect the way other instances of the file is modified. The original version would modify all other instances whereas the new version will leave others unchanged, reducing the ref count by one.
2018-07-11Auto merge of #52172 - oli-obk:clippy_in_rls, r=nrcbors-1/+22
Inject clippy into the rls again Also makes sure we actually point to the local rustfmt r? @nrc cc @Manishearth
2018-07-11Auto merge of #51230 - nikic:no-verify-lto, r=pnkfelixbors-0/+11
Disable LLVM verification by default Currently -Z no-verify only controls IR verification prior to LLVM codegen, while verification is performed unconditionally both before and after linking with (Thin)LTO. Also wondering what the sentiment is on disabling verification by default (and e.g. only enabling it on ALT builds with assertions). This does not seem terribly useful outside of rustc development and it does seem to show up in profiles (at something like 3%). **EDIT:** A table showing the various configurations and what is enabled when. | Configuration | Dynamic verification performed | LLVM static assertions compiled in | | --- | --- | --- | | alt builds | | yes | | nightly builds | | no | | stable builds | | no | | CI builds | | | | dev builds in a checkout | | |
2018-07-11Remove unused variableOliver Schneider-1/+0
2018-07-11Hitchhike with rls into stableOliver Schneider-1/+1
2018-07-10Restore #![deny(warnings)]ljedrz-0/+1
2018-07-10Deny bare trait objects in `src/bootstrap`.ljedrz-6/+6
2018-07-10bootstrap: our best to achieve atomic rename on Win32NODA, Kai-1/+6
This is a tricky operation to implement on Win32; see https://ci.appveyor.com/project/nodakai/python-win-behavior Signed-off-by: NODA, Kai <nodakai@gmail.com>
2018-07-10bootstrap: write texts to a .tmp file first for atomicityNODA, Kai-5/+13
If you are using a hard-linked file as your config.toml, this change will affect the way other instances of the file is modified. The original version would modify all other instances whereas the new version will leave others unchanged, reducing the ref count by one. Signed-off-by: NODA, Kai <nodakai@gmail.com>
2018-07-10Auto merge of #52177 - ljedrz:bare_gcc_warning, r=alexcrichtonbors-0/+8
Warn windows-gnu users that the bundled gcc can't compile Add a `DO NOT USE THIS gcc.exe FOR COMPILATION.txt` file to `lib\rustlib\*-pc-windows-gnu\bin` folders in `windows-gnu` installations in order to warn against attempting to use the bundled `gcc.exe` as a C compiler. I'm pretty sure that location is usually found manually, so this should be easily noticeable. This mistake has been made plenty of times and has lead to misunderstandings: Rust: [Bundled gcc (windows x64) is unable to build any c file](https://github.com/rust-lang/rust/issues/24418) gtk-rs: [Compiling on windows](https://github.com/gtk-rs/gtk/issues/625) bzip2-rs: [Build failure at gcc level: blocksort.c not found](https://github.com/alexcrichton/bzip2-rs/issues/30) Alternatives: rename the bundled `gcc.exe` to e.g. `rustc-gcc.exe` or `gcc-linker.exe`. This might require a more comprehensive change or break crates already using it as a linker. r? @alexcrichton
2018-07-09Change gcc warning file name, remove unnecessary referenceljedrz-2/+2
2018-07-09Warn windows-gnu users that the bundled gcc can't compileljedrz-0/+8
2018-07-09bump minimum LLVM version to 5.0gnzlbg-3/+3
2018-07-09Also distribute cargo clippyOliver Schneider-1/+14
2018-07-09Inject clippy into the rls againOliver Schneider-0/+9
Also makes sure we actually point to the local rls
2018-07-06Rollup merge of #52117 - Eijebong:filetime, r=alexcrichtonMark Rousskov-1/+1
Dedupe filetime
2018-07-06Dedupe filetimeBastien Orivel-1/+1
2018-07-06Auto merge of #51757 - nielx:fix/haiku-fixes, r=nagisabors-2/+2
Haiku: several smaller fixes to build and run rust on Haiku This PR combines three small patches that help Rust build and run on the Haiku platform. These patches do not intend to impact other platforms.