Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 6 pull requests #138450

Merged
merged 18 commits into from
Mar 13, 2025
Merged

Rollup of 6 pull requests #138450

merged 18 commits into from
Mar 13, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

folkertdev and others added 18 commits February 28, 2025 19:18
The LLVM issue [1] was fixed with [2], which is included in the LLVM20
upgrade. Tests no longer fail, so enable them here.

[1]: llvm/llvm-project#98681
[2]: llvm/llvm-project#98681
Due to a reorganization in the `libc` crate, the `xous` target broke
with version `0.2.170`. Bump libc to `0.2.171` to fix nightly.

Signed-off-by: Sean Cross <sean@xobs.io>
The list of `ASM_SUPPORTED_ARCHS` was missing a few from the compiler's
actual stable list.
build_session_options always uses materialize_sysroot anyway.
…trieb

attempt to support `BinaryFormat::Xcoff` in `naked_asm!`

Fixes rust-lang#137219

So, the inline assembly support for xcoff is extremely limited. The LLVM [XCOFFAsmParser](https://github.com/llvm/llvm-project/blob/1b25c0c4da968fe78921ce77736e5baef4db75e3/llvm/lib/MC/MCParser/XCOFFAsmParser.cpp) does not support many of the attributes that LLVM itself emits, and that should exist based on [the assembler docs](https://www.ibm.com/docs/en/ssw_aix_71/assembler/assembler_pdf.pdf). It also does accept some that should not exist based on those docs.

So, I've tried to do the best I can given those limitations. At least it's better than emitting the directives for elf and having that fail somewhere deep in LLVM. Given that inline assembly for this target is incomplete (under `asm_experimental_arch`), I think that's OK (and again I don't see how we can do better given the limitations in LLVM).

r? ```@Noratrieb``` (given that you reviewed rust-lang#136637)

It seems reasonable to ping the [`powerpc64-ibm-aix` target maintainers](https://doc.rust-lang.org/rustc/platform-support/aix.html), hopefully they have thoughts too: ```@daltenty``` ```@gilamn5tr```
…turing-arg, r=aDotInTheVoid,compiler-errors

make precise capturing args in rustdoc Json typed

close rust-lang#137616

This PR includes below changes.

- Add `rustc_hir::PreciseCapturingArgKind` which allows the query system to return a arg's data.
- Add `rustdoc::clean::types::PreciseCapturingArg` and change to use it.
- Add `rustdoc-json-types::PreciseCapturingArg` and change to use it.
- Update `tests/rustdoc-json/impl-trait-precise-capturing.rs`.
- Bump `rustdoc_json_types::FORMAT_VERSION`.
Enable `f16` tests for `powf`

The LLVM issue [1] was fixed with [2], which is included in the LLVM20 upgrade. Tests no longer fail, so enable them here.

[1]: llvm/llvm-project#98681
[2]: llvm/llvm-project#98681

try-job: aarch64-gnu
try-job: x86_64-gnu-aux
…jhpratt

bump libc to 0.2.171 to fix xous

Due to a reorganization in the `libc` crate, the `xous` target broke with version `0.2.170`. Bump libc to `0.2.171` to fix nightly.
Update compiletest's `has_asm_support` to match rustc

The list of `ASM_SUPPORTED_ARCHS` was missing a few from the compiler's
actual stable list.
…=petrochenkov,jieyouxu

Cleanup sysroot locating a bit

All commits should preserve existing behavior.
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Mar 13, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Mar 13, 2025

📌 Commit ad23e9d has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2025
@bors
Copy link
Contributor

bors commented Mar 13, 2025

⌛ Testing commit ad23e9d with merge 93257e2...

@bors
Copy link
Contributor

bors commented Mar 13, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 93257e2 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 13, 2025
@bors bors merged commit 93257e2 into rust-lang:master Mar 13, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 13, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#137816 attempt to support BinaryFormat::Xcoff in naked_asm! a7d56a0e845c3edd285c59851c7e75cc6573e8ae (link)
#138109 make precise capturing args in rustdoc Json typed 0c0d34914e4ef66a2aaac616182cc9351ab0712f (link)
#138343 Enable f16 tests for powf 946961fe7fa95f3016348d9e258a77d6504496e6 (link)
#138356 bump libc to 0.2.171 to fix xous 3bac468238b4e4bc9e17ac6d491089f35b37fe4a (link)
#138371 Update compiletest's has_asm_support to match rustc 108cd3dff609383b64392f26f9e84701050e6909 (link)
#138404 Cleanup sysroot locating a bit a75a0bde6368783028034da33853290aebdc722f (link)

previous master: a2aba0578b

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

Copy link

Post-merge analysis result

Test differences

  • x86_64-gnu-llvm-19-3
    • [assembly] tests/assembly/naked-functions/aix.rs#elfv1-be: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Lifetime (line 935): [missing] -> pass
    • [assembly] tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Term::Type (line 953): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - ProcMacro::helpers (line 1224): [missing] -> pass
    • src/librustdoc/clean/types.rs - clean::types::Type::is_doc_subtype_of (line 1543): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::name (line 1036): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm32-wasip1: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Impl::provided_trait_methods (line 1167): [missing] -> pass
    • (and 35 additional testss)
  • x86_64-apple-1
    • src/rustdoc-json-types/lib.rs - Term::Type (line 953): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::args (line 1043): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • src/librustdoc/clean/mod.rs - clean::add_without_unwanted_attributes (line 2731): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm64-unknown: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Static::is_unsafe (line 1275): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - FunctionPointer::generic_params (line 1096): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::name (line 1036): [missing] -> ignore
    • (and 35 additional testss)
  • x86_64-gnu
    • src/rustdoc-json-types/lib.rs - FunctionPointer::generic_params (line 1096): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • src/librustdoc/clean/types.rs - clean::types::Type::is_doc_subtype_of (line 1543): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Static::is_unsafe (line 1275): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Term::Constant (line 960): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm64-unknown: [missing] -> pass
    • [assembly] tests/assembly/naked-functions/aarch64-naked-fn-no-bti-prolog.rs: [missing] -> ignore (only executed when the architecture is aarch64)
    • compiler/rustc_hir/src/hir.rs - hir::Node<'hir>::ident (line 4513): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • (and 35 additional testss)
  • x86_64-gnu-nopt
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Term::Constant (line 960): [missing] -> ignore
    • src/librustdoc/clean/types.rs - clean::types::Type::is_doc_subtype_of (line 1543): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::args (line 1043): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Term::Type (line 953): [missing] -> pass
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm64-unknown: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::name (line 1036): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm32-wasip1: [missing] -> pass
    • compiler/rustc_hir/src/hir.rs - hir::Node<'hir>::ident (line 4513): [missing] -> ignore
    • (and 35 additional testss)
  • x86_64-gnu-llvm-18-3
    • [assembly] tests/assembly/naked-functions/aix.rs#aix: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::args (line 1082): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Use::id (line 1204): [missing] -> pass
    • [assembly] tests/assembly/naked-functions/aix.rs#elfv1-be: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Static::is_unsafe (line 1275): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - ProcMacro::helpers (line 1224): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm32-wasip1: [missing] -> pass
    • (and 35 additional testss)
  • x86_64-gnu-stable
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Lifetime (line 935): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - ProcMacro::helpers (line 1224): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • src/librustdoc/clean/types.rs - clean::types::Type::is_doc_subtype_of (line 1543): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::args (line 1043): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - FunctionSignature::is_c_variadic (line 1117): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Path::args (line 1082): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Term::Type (line 953): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • (and 35 additional testss)
  • aarch64-gnu
    • src/rustdoc-json-types/lib.rs - ProcMacro::helpers (line 1224): [missing] -> pass
    • [assembly] tests/assembly/naked-functions/aix.rs#aix: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Use::id (line 1204): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::name (line 1036): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::args (line 1043): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Term::Constant (line 960): [missing] -> ignore
    • src/librustdoc/clean/mod.rs - clean::add_without_unwanted_attributes (line 2731): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/aix.rs#elfv1-be: [missing] -> pass
    • [assembly] tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs: [missing] -> ignore (only executed when the architecture is x86_64)
    • (and 34 additional testss)
  • aarch64-apple
    • src/librustdoc/clean/types.rs - clean::types::Type::is_doc_subtype_of (line 1543): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/aix.rs#aix: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • [assembly] tests/assembly/naked-functions/aix.rs#elfv1-be: [missing] -> pass
    • [assembly] tests/assembly/naked-functions/wasm32.rs#wasm64-unknown: [missing] -> pass
    • src/rustdoc-json-types/lib.rs - FunctionSignature::is_c_variadic (line 1117): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • [assembly] tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs: [missing] -> ignore (only executed when the architecture is x86_64)
    • src/rustdoc-json-types/lib.rs - Impl::provided_trait_methods (line 1167): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Term::Constant (line 960): [missing] -> ignore
    • (and 34 additional testss)
  • i686-msvc-2
    • src/rustdoc-json-types/lib.rs - Impl::provided_trait_methods (line 1167): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Term::Constant (line 960): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Use::id (line 1204): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • compiler/rustc_hir/src/hir.rs - hir::Node<'hir>::ident (line 4513): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::self_type (line 1050): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::name (line 1036): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::args (line 1043): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - FunctionSignature::is_c_variadic (line 1117): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Term::Type (line 953): [missing] -> pass
    • (and 24 additional testss)
  • x86_64-msvc-2
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Param (line 940): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::name (line 1036): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Path::args (line 1082): [missing] -> ignore
    • src/librustdoc/clean/types.rs - clean::types::Type::is_doc_subtype_of (line 1543): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Type::QualifiedPath::args (line 1043): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Path::path (line 1070): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - Impl::provided_trait_methods (line 1167): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - FunctionPointer::generic_params (line 1096): [missing] -> ignore
    • src/rustdoc-json-types/lib.rs - Use::id (line 1204): [missing] -> pass
    • src/rustdoc-json-types/lib.rs - PreciseCapturingArg::Lifetime (line 935): [missing] -> pass
    • (and 24 additional testss)

(and 20 additional diffs)

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (93257e2): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary 1.3%, secondary 2.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.3% [1.9%, 2.6%] 6
Regressions ❌
(secondary)
2.8% [1.7%, 4.7%] 24
Improvements ✅
(primary)
-1.5% [-2.2%, -0.9%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.3% [-2.2%, 2.6%] 8

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 775.375s -> 775.02s (-0.05%)
Artifact size: 365.12 MiB -> 365.09 MiB (-0.01%)

github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Mar 14, 2025
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#137816 (attempt to support `BinaryFormat::Xcoff` in `naked_asm!`)
 - rust-lang#138109 (make precise capturing args in rustdoc Json typed)
 - rust-lang#138343 (Enable `f16` tests for `powf`)
 - rust-lang#138356 (bump libc to 0.2.171 to fix xous)
 - rust-lang#138371 (Update compiletest's `has_asm_support` to match rustc)
 - rust-lang#138404 (Cleanup sysroot locating a bit)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants