about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-03-22Rollup merge of #138763 - aDotInTheVoid:two-years-later, r=GuillaumeGomezMatthias Krüger-0/+15
jsondocck: Replace `jsonpath_lib` with `jsonpath-rust` The current jsonpath implementation we use isn't spec-compliant, and is buggy. See https://github.com/freestrings/jsonpath/issues/91 To solve it, it's replaced with https://github.com/besok/jsonpath-rust. This is spec-compiant, and doesn't have a really awkward bug we need to always dance around. Unfortunately, this requires rewriting almost every test, as the behaviour of `[?(```@`,``` which is *extremely* common was changed. (But the new behaviour makes way more sense, and isn't buggy with tripply nested selectors) Unblocks #110406. Makes #100515 much easier as we don't need to explain the broken JSONPath implementation Best reviewed commit-by-commit. The first does the replacement. The next two rewrite the test-suite mechanically. The last rewrites the test-suite by hand. r? ```@GuillaumeGomez```
2025-03-21Auto merge of #138791 - matthiaskrgr:rollup-ev46cqr, r=matthiaskrgrbors-47/+54
Rollup of 9 pull requests Successful merges: - #138364 (ports the compiler test cases to new rust_intrinsic format) - #138570 (add `naked_functions_target_feature` unstable feature) - #138623 ([bootstrap] Use llvm_runtimes for compiler-rt) - #138627 (Autodiff cleanups) - #138669 (tests: accept some noise from LLVM 21 in symbols-all-mangled) - #138706 (Improve bootstrap git modified path handling) - #138709 (Update GCC submodule) - #138717 (Add an attribute that makes the spans from a macro edition 2021, and fix pin on edition 2024 with it) - #138721 (Use explicit cpu in some asm and codegen tests.) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-21Rollup merge of #138706 - Kobzol:bootstrap-git-refactor-1, r=onur-ozkanMatthias Krüger-46/+50
Improve bootstrap git modified path handling Drive-by improvements extracted out of https://github.com/rust-lang/rust/pull/138591. r? ``@onur-ozkan``
2025-03-21Rollup merge of #138623 - daltenty:daltenty/fix-compiler-rt, r=KobzolMatthias Krüger-1/+4
[bootstrap] Use llvm_runtimes for compiler-rt Trying to enable `compiler-rt` via `LLVM_ENABLE_PROJECTS` is no longer a supported option in LLVM, and gives you nasty warnings: ``` Using LLVM_ENABLE_PROJECTS=compiler-rt is deprecated now, and will become a fatal error in the LLVM 21 release. Please use -DLLVM_ENABLE_RUNTIMES=compiler-rt or see the instructions at https://compiler-rt.llvm.org/ for building the runtimes. ``` try-job: aarch64-gnu-debug try-job: x86_64-gnu-debug
2025-03-21Fix test using `download-ci-llvm=true` on CIJakub Beránek-1/+1
2025-03-21Set `if-unchanged` as the default value for `download-ci-llvm` when we're on CI.Jakub Beránek-1/+8
2025-03-21Allow unused code in testsJakub Beránek-0/+1
To avoid working around some code being unused in tests due to it being stubbed out with `#[cfg(test)]`.
2025-03-21Remove duplicated check for LLVM modifications and disable ↵Jakub Beránek-42/+23
`download-ci-llvm=true` on CI
2025-03-21Unify LLVM invalidation path handlingJakub Beránek-15/+16
Before it was using a different set of paths in different call-sites.
2025-03-21Rollup merge of #138743 - onur-ozkan:override-is-ci-behaviour, r=KobzolMatthias Krüger-26/+45
bootstrap: add `--ci` flag To make bootstrap act like it's running on CI, we had to override the `GITHUB_ACTIONS` environment variable which is a hidden detail of `CiEnv::is_ci`. Now, we can use the `--ci` flag directly on bootstrap which will be documented automatically from `x --help`. This also helps us to avoid race conditions on bootstrap (overriding `GITHUB_ACTIONS` env in each test can cause that if we run the tests in parallel) tests.
2025-03-21jsondocck: Replace `jsonpath_lib` with `jsonpath-rust`Alona Enraght-Moony-0/+15
2025-03-20add test for `Config::is_running_on_ci`onur-ozkan-0/+17
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-20make it possible to override CI/non-CI environment behaviouronur-ozkan-26/+28
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-20Use `-Wunused_crate_dependencies` for compiler crates.Nicholas Nethercote-0/+1
It's very useful. There are some false positives involving integration tests in `rustc_pattern_analysis` and `rustc_serialize`. There is also a false positive involving `rustc_driver_impl`'s `rustc_randomized_layouts` feature. And I removed a `rustc_span` mention in a doc comment in `rustc_log` because it wasn't integral to the comment but caused a dev-dependency.
2025-03-19Respect `--src` bootstrap flagJakub Beránek-45/+49
Previously it was simply ignored.
2025-03-19Simplify `get_git_modified_files`Jakub Beránek-1/+1
It only ever returned `Some`, so `Option` was useless in its return type.
2025-03-19Auto merge of #138693 - matthiaskrgr:rollup-ejq8mwp, r=matthiaskrgrbors-7/+2
Rollup of 10 pull requests Successful merges: - #136177 (clarify BufRead::{fill_buf, consume} docs) - #138654 (Remove the regex dependency from coretests) - #138655 (rustc-dev-guide sync) - #138656 (Remove double nesting in post-merge workflow) - #138658 (CI: mirror alpine and centos images to ghcr) - #138659 (coverage: Don't store a body span in `FunctionCoverageInfo`) - #138661 (Revert: Add *_value methods to proc_macro lib) - #138670 (Remove existing AFIDT implementation) - #138674 (Various codegen_llvm cleanups) - #138684 (use then in docs for `fuse` to enhance readability) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-18Revert "Rollup merge of #136355 - ↵Ralf Jung-7/+2
GuillaumeGomez:proc-macro_add_value_retrieval_methods, r=Amanieu" This reverts commit 08dfbf49e30d917c89e49eb14cb3f1e8b8a1c9ef, reversing changes made to 10bcdad7df0de3cfb95c7bdb7b16908e73cafc09.
2025-03-18Rollup merge of #138080 - moxian:bootstrap-breadcrumb, r=jieyouxuMatthias Krüger-2/+3
Leave a breadcrumb towards bootstrap config documentation in `bootstrap.toml` I was curious as to the possible bootstrap options I can put in config.toml, but had some trouble figuring it out. There is no obvious documentation in `config.toml` (obviously), the documentation in src/bootstrap/defaults is *nice*, but also rather sparse, by design. I had to dive into the parsing code, and stuble upon [a very helpful doc comment](https://github.com/rust-lang/rust/blob/30f168ef811aec63124eac677e14699baa9395bd/src/bootstrap/src/core/config/config.rs#L181) there to realize that `config.example.toml` *exists*, and that it does, indeed, answer all of my questions. So I figured it might be worth making this journey a bit easier for future contributors and add mention the `config.example.toml` directly in `config.toml`. Now, since #137081 is in-flight which would rename `config(.example)?.toml` to `bootstrap(.example)?.toml`, I figure it's better to wait until that one lands, and submit the "new", "correct" filename upfront, instead of landing `config.toml` now and updating it to `boostrap.toml` later. `@rustbot` blocked #137081
2025-03-17[bootstrap] Distribute split debuginfo if presentWesley Wiser-99/+255
If debuginfo has been requested in `config.toml`, it should be packaged alongside the appropriate binary when running `x.py dist`. Currently, this is only implemented for msvc environments where split debuginfo is (basically) the only option. I've tested that this correctly packages the `.pdb` for each binary in the various dist packages.
2025-03-17Use llvm_runtimes for compiler-rtDavid Tenty-1/+4
2025-03-17Auto merge of #138611 - matthiaskrgr:rollup-hmjbqva, r=matthiaskrgrbors-1/+1
Rollup of 7 pull requests Successful merges: - #133870 (Stabilize `asm_goto` feature gate) - #137449 (Denote `ControlFlow` as `#[must_use]`) - #137465 (mir_build: Avoid some useless work when visiting "primary" bindings) - #138349 (Emit function declarations for functions with `#[linkage="extern_weak"]`) - #138412 (Install licenses into `share/doc/rust/licenses`) - #138577 (rustdoc-json: Don't also include `#[deprecated]` in `Item::attrs`) - #138588 (Avoid double lowering of idents) Failed merges: - #138321 ([bootstrap] Distribute split debuginfo if present) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-17Auto merge of #137081 - ↵bors-110/+138
Shourya742:2025-02-15-change-config.toml-to-bootstrap.toml, r=onur-ozkan,jieyouxu,kobzol change config.toml to bootstrap.toml Currently, both Bootstrap and Cargo uses same name as their configuration file, which can be confusing. This PR is based on a discussion to rename `config.toml` to `bootstrap.toml` for Bootstrap. Closes: https://github.com/rust-lang/rust/issues/126875. I have split the PR into atomic commits to make it easier to review. Once the changes are finalized, I will squash them. I am particularly concerned about the changes made to modules that are not part of Bootstrap. How should we handle those changes? Should we ping the respective maintainers?
2025-03-17modify config.toml->bootstrap.toml for new upstream changesbit-aloo-4/+4
2025-03-17Rollup merge of #138412 - cuviper:licenses, r=jieyouxuMatthias Krüger-1/+1
Install licenses into `share/doc/rust/licenses` This changes the path from "licences" to "licenses" for consistency across the repo, including the usage directly around this line. This is a US/UK spelling difference, but I believe the US spelling is also more common in open source in general.
2025-03-17adjust commentGiang Dao-22/+8
2025-03-17wix: allow to skip more componentsklensy-2/+30
2025-03-17fix missing rustfmt for apple darwinGiang Dao-3/+9
2025-03-17fix missing rustfmt and clippy for msiGiang Dao-1/+30
2025-03-17Rollup merge of #138592 - onur-ozkan:follow-up-137147, r=KobzolJacob Pratt-1/+1
update change entry for #137147 r? `@RalfJung`
2025-03-17Rollup merge of #136355 - ↵Jacob Pratt-2/+7
GuillaumeGomez:proc-macro_add_value_retrieval_methods, r=Amanieu Add `*_value` methods to proc_macro lib This is the implementation of https://github.com/rust-lang/libs-team/issues/459. It allows to get the actual value (unescaped) of the different string literals. Part of https://github.com/rust-lang/rust/issues/136652. r? libs-api
2025-03-17Only add `rustc_randomized_layouts` if the crate has itGuillaume Gomez-1/+1
2025-03-17update change entry for #137147onur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-17make profile_user_dist test backward compatiblebit-aloo-7/+9
2025-03-17change config.toml to bootstrap.toml for bootstrap modulebit-aloo-101/+127
2025-03-16Auto merge of #137011 - LuuuXXX:promote-ohos-with-host-tools, r=Amanieubors-1/+14
Promote ohos targets to tier2 with host tools. ### What does this PR try to resolve? Try to promote the following [[Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [[Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools): - `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos` - `x86_64-unknown-linux-ohos` ### More Information? see MCP: https://github.com/rust-lang/compiler-team/issues/811 ### Blockage to be solved? - [x] Submit an MCP - [x] Submit code of promote ohos targets - [x] Resolve related dependencies (`measureme`) The modified code of the measureme has been merged (see https://github.com/rust-lang/measureme/pull/238). [done] The new version will was released (https://github.com/rust-lang/measureme/pull/240). [done]
2025-03-16Rollup merge of #137147 - ↵许杰友 Jieyou Xu (Joe)-16/+42
Shourya742:2025-02-16-support-exclude-in-config.toml, r=onur-ozkan Add exclude to config.toml Closes: https://github.com/rust-lang/rust/issues/35678 r? `@onur-ozkan` try-job: x86_64-msvc-2
2025-03-15Auto merge of #137665 - Kobzol:update-sccache, r=marcoienibors-98/+10
Update sccache to 0.10.0 This time, does it also for Windows and macOS. This unifies the sccache version across all OSes that we use. r? `@ghost` try-job: dist-aarch64-apple try-job: dist-x86_64-apple try-job: dist-x86_64-msvc try-job: dist-x86_64-msvc-alt try-job: dist-i686-msvc try-job: dist-aarch64-msvc try-job: dist-x86_64-linux try-job: dist-x86_64-netbsd
2025-03-15Rollup merge of #138451 - Kobzol:gcc-ci-build-gcc, r=GuillaumeGomezLeón Orell Valerian Liehr-15/+36
Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests [pass](https://github.com/rust-lang/rust/actions/runs/13842365913/job/38732750617?pr=138451) on CI with a downloaded GCC that was built in this way. Prerequisite for https://github.com/rust-lang/rust/pull/138395. r? ```@ghost```
2025-03-14Rollup merge of #138469 - tshepang:patch-6, r=onur-ozkanLeón Orell Valerian Liehr-2/+0
remove comment regarding a removed test directive Removed in https://github.com/rust-lang/rust/pull/120265
2025-03-14Ensure that GCC is not built using Clang, as it misbehavesJakub Beránek-6/+20
2025-03-14Rollup merge of #138389 - onur-ozkan:use-expect, r=jieyouxuJacob Pratt-16/+13
use `expect` instead of `allow` This is more useful than `allow` as compiler will force us to remove rules that are no longer valid (we already got a few of them in this change).
2025-03-13Store libgccjit.so in a lib directory in the GCC CI tarballJakub Beránek-3/+2
2025-03-13Change GCC build flagsJakub Beránek-1/+1
2025-03-13Create libgccjit.so.0 alias also for CI-downloaded GCCJakub Beránek-6/+14
2025-03-13remove comment regarding a removed test directiveTshepang Mbambo-2/+0
2025-03-13Record the new settings checksumsJosh Stone-3/+7
2025-03-13update the test_exclude to not use paths with path separatorsbit-aloo-2/+1
2025-03-13make test platform agnosticbit-aloo-2/+4
2025-03-13Add change info to change trackerbit-aloo-0/+5