- 09 1月, 2020 1 次提交
-
-
由 Tomasz Miąsko 提交于
-
- 29 12月, 2019 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 24 12月, 2019 1 次提交
-
-
由 Ralf Jung 提交于
-
- 23 12月, 2019 1 次提交
-
-
由 Mark Rousskov 提交于
-
- 22 12月, 2019 1 次提交
-
-
由 Adam Perry 提交于
-
- 18 12月, 2019 2 次提交
-
-
由 Mark Rousskov 提交于
This reverts commit 3ed3b8bb, reversing changes made to 99b89533. We will reland a similar patch at a future date but for now we should get a nightly released in a few hours with the parallel patch, so this should be reverted to make sure that the next nightly is not parallel-enabled.
-
由 Mark Rousskov 提交于
These depend on rustc being bug-free and it looks like that's not currently entirely the case (e.g., we know of at least one bug that introduces nondeterminism).
-
- 11 12月, 2019 1 次提交
-
-
由 Alex Crichton 提交于
This commit builds on #65501 continue to simplify the build system and compiler now that we no longer have multiple LLVM backends to ship by default. Here this switches the compiler back to what it once was long long ago, which is linking LLVM directly to the compiler rather than dynamically loading it at runtime. The `codegen-backends` directory of the sysroot no longer exists and all relevant support in the build system is removed. Note that `rustc` still supports a dynamically loaded codegen backend as it did previously, it just no longer supports dynamically loaded codegen backends in its own sysroot. Additionally as part of this the `librustc_codegen_llvm` crate now once again explicitly depends on all of its crates instead of implicitly loading them through the sysroot. This involved filling out its `Cargo.toml` and deleting all the now-unnecessary `extern crate` annotations in the header of the crate. (this in turn required adding a number of imports for names of macros too). The end results of this change are: * Rustbuild's build process for the compiler as all the "oh don't forget the codegen backend" checks can be easily removed. * Building `rustc_codegen_llvm` is much simpler since it's simply another compiler crate. * Managing the dependencies of `rustc_codegen_llvm` is much simpler since it's "just another `Cargo.toml` to edit" * The build process should be a smidge faster because there's more parallelism in the main rustc build step rather than splitting `librustc_codegen_llvm` out to its own step. * The compiler is expected to be slightly faster by default because the codegen backend does not need to be dynamically loaded. * Disabling LLVM as part of rustbuild is still supported, supporting multiple codegen backends is still supported, and dynamic loading of a codegen backend is still supported.
-
- 11 11月, 2019 1 次提交
-
-
由 Manish Goregaokar 提交于
-
- 26 10月, 2019 2 次提交
- 22 10月, 2019 1 次提交
-
-
由 Alex Crichton 提交于
With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
-
- 19 10月, 2019 1 次提交
-
-
由 Ralf Jung 提交于
-
- 17 10月, 2019 1 次提交
-
-
由 Thomas Lively 提交于
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
-
- 06 10月, 2019 1 次提交
-
-
由 Tyler Mandry 提交于
This reverts commit 78700507, reversing changes made to 2e724480.
-
- 04 10月, 2019 2 次提交
-
-
由 Thomas Lively 提交于
-
由 Thomas Lively 提交于
- Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the incorrect wasm32 C call ABI with the old asmjs version, which is correct for both wasm32 and JS. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Temporarily makes Emscripten targets use panic=abort by default because supporting unwinding will require an LLVM patch.
-
- 24 9月, 2019 3 次提交
-
-
由 Alex Crichton 提交于
This logic is *super* old and can be tweaked and moved into `builder.rs`
-
由 Alex Crichton 提交于
This commit changes the return type of `Builder::cargo` to return a builder that allows dynamically adding more `RUSTFLAGS` values after-the-fact. While not used yet, this will later be used to delete more of `rustc.rs`
-
由 Alex Crichton 提交于
Cargo has a native enviroment variable for this.
-
- 06 9月, 2019 1 次提交
-
-
由 Mark Rousskov 提交于
-
- 28 8月, 2019 1 次提交
-
-
由 Alex Crichton 提交于
This commit removes the `wasm_syscall` feature from the wasm32-unknown-unknown build of the standard library. This feature was originally intended to allow an opt-in way to interact with the operating system in a posix-like way but it was never stabilized. Nowadays with the advent of the `wasm32-wasi` target that should entirely replace the intentions of the `wasm_syscall` feature.
-
- 24 8月, 2019 1 次提交
-
-
由 Alex Crichton 提交于
Since its inception rustbuild has always worked in three stages: one for libstd, one for libtest, and one for rustc. These three stages were architected around crates.io dependencies, where rustc wants to depend on crates.io crates but said crates don't explicitly depend on libstd, requiring a sysroot assembly step in the middle. This same logic was applied for libtest where libtest wants to depend on crates.io crates (`getopts`) but `getopts` didn't say that it depended on std, so it needed `std` built ahead of time. Lots of time has passed since the inception of rustbuild, however, and we've since gotten to the point where even `std` itself is depending on crates.io crates (albeit with some wonky configuration). This commit applies the same logic to the two dependencies that the `test` crate pulls in from crates.io, `getopts` and `unicode-width`. Over the many years since rustbuild's inception `unicode-width` was the only dependency picked up by the `test` crate, so the extra configuration necessary to get crates building in this crate graph is unlikely to be too much of a burden on developers. After this patch it means that there are now only two build phasese of rustbuild, one for libstd and one for rustc. The libtest/libproc_macro build phase is all lumped into one now with `std`. This was originally motivated by rust-lang/cargo#7216 where Cargo was having to deal with synthesizing dependency edges but this commit makes them explicit in this repository.
-
- 20 8月, 2019 1 次提交
-
-
由 Mark Rousskov 提交于
This is no longer used by the index generator and was always an unstable compiler detail, so strip it out. This also leaves in RUSTC_ERROR_METADATA_DST since the stage0 compiler still needs it to be set.
-
- 09 8月, 2019 7 次提交
- 03 8月, 2019 1 次提交
-
-
由 Eric Huss 提交于
-
- 02 8月, 2019 1 次提交
-
-
由 Ralf Jung 提交于
-
- 29 7月, 2019 1 次提交
-
-
由 kennytm 提交于
This caused clippy not being built on Linux previously.
-
- 27 7月, 2019 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 26 7月, 2019 2 次提交
-
-
由 Alex Crichton 提交于
This commit stabilizes options in the compiler necessary for Cargo to enable "pipelined compilation" by default. The concept of pipelined compilation, how it's implemented, and what it means for rustc are documented in #60988. This PR is coupled with a PR against Cargo (rust-lang/cargo#7143) which updates Cargo's support for pipelined compliation to rustc, and also enables support by default in Cargo. (note that the Cargo PR cannot land until this one against rustc lands). The technical changes performed here were to stabilize the functionality proposed in #60419 and #60987, the underlying pieces to enable pipelined compilation support in Cargo. The issues have had some discussion during stabilization, but the newly stabilized surface area here is: * A new `--json` flag was added to the compiler. * The `--json` flag can be passed multiple times. * The value of the `--json` flag is a comma-separated list of directives. * The `--json` flag cannot be combined with `--color` * The `--json` flag must be combined with `--error-format=json` * The acceptable list of directives to `--json` are: * `diagnostic-short` - the `rendered` field of diagnostics will have a "short" rendering matching `--error-format=short` * `diagnostic-rendered-ansi` - the `rendered` field of diagnostics will be colorized with ansi color codes embedded in the string field * `artifacts` - JSON blobs will be emitted for artifacts being emitted by the compiler The unstable `-Z emit-artifact-notifications` and `--json-rendered` flags have also been removed during this commit as well. Closes #60419 Closes #60987 Closes #60988
-
由 Giles Cope 提交于
(was `run` uses `run_silent` under the covers.)
-
- 16 7月, 2019 1 次提交
-
-
由 Alex Crichton 提交于
Now that we've fully moved to Azure Pipelines and bors has been updated to only gate on Azure this commit removes the remaining Travis/AppVeyor support contained in this repository. Most of the deletions here are related to producing better output on Travis by folding certain sections. This isn't supported by Azure so there's no need to keep it around, and if Azure ever adds support we can always add it back!
-
- 06 7月, 2019 2 次提交
-
-