- 04 7月, 2022 1 次提交
-
-
由 InfRandomness 提交于
This adds miri to https://doc.rust-lang.org/nightly/nightly-rustc/Signed-off-by: NInfRandomness <infrandomness@gmail.com>
-
- 03 7月, 2022 1 次提交
-
-
由 Joshua Nelson 提交于
- Add `Interned<Vec<String>>` and use it for tail args - Refactor `cache.rs` not to need a separate impl for each internable type
-
- 01 7月, 2022 1 次提交
-
-
由 Andy Fiddaman 提交于
Bootstrap currently provides `-Zunstable-options` for platforms when using split debuginfo - this commit adds it for the illumos target too.
-
- 26 6月, 2022 1 次提交
-
-
由 Joshua Nelson 提交于
Running steps multiple times defeats the whole point of #96501, since lint messages will be duplicated.
-
- 18 6月, 2022 2 次提交
-
-
由 Joshua Nelson 提交于
-
由 Joshua Nelson 提交于
This was surprisingly complicated. The main changes are: 1. Invert the order of iteration in `StepDescription::run`. Previously, it did something like: ```python for path in paths: for (step, should_run) in should_runs: if let Some(set) = should_run.pathset_for_path(path): step.run(builder, set) ``` That worked ok for individual paths, but didn't allow passing more than one path at a time to `Step::run` (since `pathset_for_paths` only had one path available to it). Change it to instead look at the intersection of `paths` and `should_run.paths`: ```python for (step, should_run) in should_runs: if let Some(set) = should_run.pathset_for_paths(paths): step.run(builder, set) ``` 2. Change `pathset_for_path` to take multiple pathsets. The goal is to avoid `x test library/alloc` testing *all* library crates, instead of just alloc. The changes here are similarly subtle, to use the intersection between the paths rather than all paths in `should_run.paths`. I added a test for the behavior to try and make it more clear. Note that we use pathsets instead of just paths to allow for sets with multiple aliases (*cough* `all_krates` *cough*). See the documentation added in the next commit for more detail. 3. Change `StepDescription::run` to explicitly handle 0 paths. Before this was implicitly handled by the `for` loop, which just didn't excute when there were no paths. Now it needs a check, to avoid trying to run all steps (this is a problem for steps that use `default_condition`). 4. Change `RunDescription` to have a list of pathsets, rather than a single path. 5. Remove paths as they're matched This allows checking at the end that no invalid paths are left over. Note that if two steps matched the same path, this will no longer run both; but that's a bug anyway. 6. Handle suite paths separately from regular sets. Running multiple suite paths at once instead of in separate `make_run` invocations is both tricky and not particularly useful. The respective test Steps already handle this by introspecting the original paths. Avoid having to deal with it by moving suite handling into a seperate loop than `PathSet::Set` checks.
-
- 10 6月, 2022 2 次提交
-
-
由 Pietro Albini 提交于
-
由 Pietro Albini 提交于
-
- 07 6月, 2022 2 次提交
-
-
由 Joshua Nelson 提交于
-
由 Joshua Nelson 提交于
-
- 03 6月, 2022 1 次提交
-
-
由 Urgau 提交于
-
- 29 5月, 2022 1 次提交
-
-
由 binggh 提交于
Remove dead code Missing } ./x.py fmt Remove duplicate check Recursively remove all usage of help_on_error
-
- 27 5月, 2022 1 次提交
-
-
由 Mark Rousskov 提交于
It looks like the last time had left some remaining cfg's -- which made me think that the stage0 bump was actually successful. This brings us to a released 1.62 beta though.
-
- 26 5月, 2022 6 次提交
-
-
由 Raiyan 提交于
-
由 Joshua Nelson 提交于
Using language features occasionally causes issues when using nightly to bootstrap, rather than beta. See #59264 for additional context.
-
由 Joshua Nelson 提交于
This is for a pre-existing FIXME, but it was easy enough to do.
-
由 Joshua Nelson 提交于
-
由 Joshua Nelson 提交于
- Remove download-rustc handling from bootstrap.py - Allow a custom `pattern` in `builder.unpack()` - Only download rustc once another part of bootstrap depends on it. This is somewhat necessary since the download functions rely on having a full `Builder`, which isn't available until after config parsing finishes.
-
由 Joshua Nelson 提交于
This has no logic changes, just a move.
-
- 22 5月, 2022 1 次提交
-
-
由 Joshua Nelson 提交于
This statically prevents issues like https://github.com/rust-lang/rust/issues/59264, where tools can only be built with the in-tree compiler and not beta.
-
- 14 5月, 2022 1 次提交
-
-
由 Urgau 提交于
-
- 08 5月, 2022 1 次提交
-
-
由 Yuki Okushi 提交于
-
- 06 5月, 2022 1 次提交
-
-
由 David Wood 提交于
Bootstrap currently provides `-Zunstable-options` for OpenBSD when using split debuginfo - this commit provides it for all BSD targets. Signed-off-by: NDavid Wood <david.wood@huawei.com>
-
- 03 5月, 2022 3 次提交
-
-
由 Loïc BRANSTETT 提交于
-
由 Joshua Nelson 提交于
Before: ``` thread 'main' panicked at 'error: no rules matched invalid', src/bootstrap/builder.rs:287:17 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` After: ``` error: no `check` rules matched 'invalid' help: run `x.py check --help --verbose` to show a list of available paths note: if you are adding a new Step to bootstrap itself, make sure you register it with `describe!` ```
-
由 Pietro Albini 提交于
This tool will generate a JSON file with statistics about each individual step to disk. It will be used in rust-lang/rust's CI to replace the mix of scripts and log scraping we currently have to gather this data.
-
- 02 5月, 2022 2 次提交
-
-
由 Bert Peters 提交于
-
由 Sébastien Marie 提交于
after #95612, only linux and windows target are build with -Zunstable-options, but others platforms might use -Csplit-debuginfo add "openbsd" target in the list of platforms using it.
-
- 25 4月, 2022 1 次提交
-
-
由 Joshua Nelson 提交于
This attempts to keep the logic as close to the original python as possible. `probably_large` has been removed, since it was always `True`, and UTF-8 paths are no longer supported when patching files for NixOS. I can readd UTF-8 support if desired. Note that this required making `llvm_link_shared` computed on-demand, since we don't know whether it will be static or dynamic until we download LLVM from CI.
-
- 24 4月, 2022 1 次提交
-
-
由 James Higgins 提交于
-
- 20 4月, 2022 1 次提交
-
-
由 David Wood 提交于
Temporarily, only enable split debuginfo on Windows if not building with the boostrap compiler as there is a bug that isn't fixed in the bootstrap compiler which would result in `thorin` being run on Windows. Signed-off-by: NDavid Wood <david.wood@huawei.com>
-
- 19 4月, 2022 1 次提交
-
-
由 Joshua Nelson 提交于
This breaks on submodules (see #96188). Disable the assertion for now until I can think of a proper fix. This doesn't revert any of the changes in `Step`s themselves, only what `ShouldRun::paths` does.
-
- 18 4月, 2022 1 次提交
-
-
由 David Wood 提交于
Replace `run-dysutil` option with more general `split-debuginfo` option that works on all platforms. Signed-off-by: NDavid Wood <david.wood@huawei.com>
-
- 17 4月, 2022 2 次提交
-
-
由 Allen Wild 提交于
There's several places where the x.py command names are matched as strings, leading to some inconsistencies and opportunities for cleanup. * Add Format, Clean, and Setup variants to builder::Kind. * Use Kind to parse the x.py subcommand name (including aliases) * Match on the subcommand Kind rather than strings when handling options and help text. * Several subcommands don't display any paths when run with `-h -v` even though the help text indicates that they should. Fix this and refactor so that manually keeping matches in sync isn't necessary. Fixes #95937
-
由 Joshua Nelson 提交于
This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like.
-
- 10 4月, 2022 1 次提交
-
-
由 Allen Wild 提交于
Running `./x.py build -h -v` shows a list of available build targets, but the short alias `./x.py b -h -v` does not. Fix so that the aliases behave the same as their spelled out counterparts.
-
- 30 3月, 2022 2 次提交
-
-
由 Yuri Astrakhan 提交于
This PR attempts to clean up some minor spelling mistakes in comments
-
由 Joshua Nelson 提交于
There were two fixes needed: 1. Use `top_stage` instead of `top_stage - 1`. There was a long and torturous comment about trying to match rustdoc's version, but it works better without the hard-coding than with. 2. Make sure that `ci-llvm/lib` is added to LD_LIBRARY_PATH. Previously the error index would be unable to load LLVM for stage0 builds. At some point we should probably have a discussion about how rustdoc stages should be numbered; confusion between 0/1/2 has come up several times in bootstrap now. Note that this is still broken when using `download-rustc = true` and `--stage 1`, but that's *really* a corner case and should affect almost no one. `--stage {0,2}` work fine with download-rustc.
-
- 27 3月, 2022 1 次提交
-
-
由 Joshua Nelson 提交于
This was so verbose before that it made it hard to see what effect the flag actually had. Before: ``` Set({test::src/tools/tidy}) not skipped for "bootstrap::test::Tidy" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps] Skipping Suite(test::src/test/ui) because it is excluded Suite(test::src/test/run-pass-valgrind) not skipped for "bootstrap::test::RunPassValgrind" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps] Skipping Suite(test::src/test/mir-opt) because it is excluded Suite(test::src/test/codegen) not skipped for "bootstrap::test::Codegen" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps] Suite(test::src/test/codegen-units) not skipped for "bootstrap::test::CodegenUnits" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps] Suite(test::src/test/assembly) not skipped for "bootstrap::test::Assembly" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps] Suite(test::src/test/incremental) not skipped for "bootstrap::test::Incremental" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps] Skipping Suite(test::src/test/debuginfo) because it is excluded Skipping Suite(test::src/test/ui-fulldeps) because it is excluded ... about 100 more lines ... ``` After: ``` Skipping Suite(test::src/test/ui) because it is excluded Skipping Suite(test::src/test/mir-opt) because it is excluded Skipping Suite(test::src/test/debuginfo) because it is excluded Skipping Suite(test::src/test/ui-fulldeps) because it is excluded ```
-
- 16 3月, 2022 1 次提交
-
-
由 codehorseman 提交于
Signed-off-by: Ncodehorseman <cricis@yeah.net>
-