| Age | Commit message (Collapse) | Author | Lines |
|
This will allow us to provide links to CI workflows, jobs and summaries in the post-merge analysis report.
|
|
|
|
We intend to fix the outstanding issues on the target and eventually
promote it to tier 2. We have the capacity to maintain this target in
the future and already perform regular builds of rustc for this target.
Currently, all host tools except miri build fine, but I have a patch for
libffi-sys to make miri also compile fine for this target that is
pending review [1].
While at it, add an option for the musl root for this target.
[1]: https://github.com/tov/libffi-rs/pull/100
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
|
|
Fix missing rustfmt in msi installer - cont
## Context
- This PR extended and fixed https://github.com/rust-lang/rust/pull/131365, which was reverted in https://github.com/rust-lang/rust/pull/135253
- Initial effort from `@klensy` in https://github.com/rust-lang/rust/pull/135255 (at any points if you feel like picking this up again, let me know I'll close my PR! Just trying to push this through since it's my mistake in the original commits)
- Tested with both `beta` and `nightly` `rust.channel`
r? `@Mark-Simulacrum`
|
|
[bootstrap] Distribute split debuginfo if present
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.
|
|
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```
|
|
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
|
|
Improve bootstrap git modified path handling
Drive-by improvements extracted out of https://github.com/rust-lang/rust/pull/138591.
r? ``@onur-ozkan``
|
|
[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
|
|
|
|
|
|
To avoid working around some code being unused in tests due to it being stubbed out with `#[cfg(test)]`.
|
|
`download-ci-llvm=true` on CI
|
|
Before it was using a different set of paths in different call-sites.
|
|
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.
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
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.
|
|
Previously it was simply ignored.
|
|
It only ever returned `Some`, so `Option` was useless in its return type.
|
|
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
|
|
GuillaumeGomez:proc-macro_add_value_retrieval_methods, r=Amanieu"
This reverts commit 08dfbf49e30d917c89e49eb14cb3f1e8b8a1c9ef, reversing
changes made to 10bcdad7df0de3cfb95c7bdb7b16908e73cafc09.
|
|
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
|
|
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.
|
|
|
|
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
|
|
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?
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
update change entry for #137147
r? `@RalfJung`
|
|
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
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
|
|
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]
|
|
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
|
|
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
|
|
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```
|
|
remove comment regarding a removed test directive
Removed in https://github.com/rust-lang/rust/pull/120265
|
|
|
|
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).
|
|
|
|
|
|
|