Skip to content

add c_variadic_experimental_arch feature#155974

Open
folkertdev wants to merge 1 commit intorust-lang:mainfrom
folkertdev:c-variadic-experimental-arch
Open

add c_variadic_experimental_arch feature#155974
folkertdev wants to merge 1 commit intorust-lang:mainfrom
folkertdev:c-variadic-experimental-arch

Conversation

@folkertdev
Copy link
Copy Markdown
Contributor

@folkertdev folkertdev commented Apr 29, 2026

tracking issue: #155973

Based on https://hackmd.io/pIbUgMQuQcGaibJcinOcEw#Stabilize-c-variadic-function-definitions-rust155697, we'll gate niche targets where we don't control the implementation of va_arg, the ABI is unclear, or in general where we're not confident stabilizing the implementation.

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 29, 2026
@rust-log-analyzer

This comment has been minimized.

@folkertdev folkertdev force-pushed the c-variadic-experimental-arch branch 2 times, most recently from 531be28 to c5b7925 Compare April 29, 2026 22:02
@joshtriplett
Copy link
Copy Markdown
Member

This looks reasonable to me, based on the discussions in the lang meeting. We can always un-gate any of these targets in the future, when a maintainer of the target takes a close look and makes sure the tests pass.

I think it might be useful to point people to an invocation of ./x test that will capture all the relevant tests. For instance, does ./x test variadic capture all the tests needed to feel confident that a target implements C variadics correctly?

r=me with such a comment added next to the match arm for the unstable targets. (Not next to the match arm for RISC-V ILP32E, that one is unstable for a different reason.)

@bors delegate+

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 29, 2026

✌️ @folkertdev, you can now approve this pull request!

If @joshtriplett told you to "r=me" after making some further change, then please make that change and post @bors r=joshtriplett.

View changes since this delegation.

@folkertdev
Copy link
Copy Markdown
Contributor Author

r? joshtriplett

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 30, 2026

joshtriplett is not on the review rotation at the moment.
They may take a while to respond.

@folkertdev folkertdev marked this pull request as ready for review April 30, 2026 09:00
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 30, 2026

These commits modify compiler targets.
(See the Target Tier Policy.)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Apr 30, 2026
@folkertdev
Copy link
Copy Markdown
Contributor Author

@bors r=joshtriplett

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 30, 2026

📌 Commit 41796ec has been approved by joshtriplett

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Apr 30, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Apr 30, 2026
…-arch, r=joshtriplett

add `c_variadic_experimental_arch` feature

tracking issue: rust-lang#155973

Based on https://hackmd.io/pIbUgMQuQcGaibJcinOcEw#Stabilize-c-variadic-function-definitions-rust155697, we'll gate niche targets where we don't control the implementation of `va_arg`, the ABI is unclear, or in general where we're not confident stabilizing the implementation.
rust-bors Bot pushed a commit that referenced this pull request Apr 30, 2026
Rollup of 6 pull requests

Successful merges:

 - #155853 (Use `_mcount` as the mcount symbol name on RISC-V Linux GNU targets)
 - #155939 (Add feature gate for view_types experiment)
 - #155974 (add `c_variadic_experimental_arch` feature)
 - #155523 (Reorganize `tests/ui/issues/` - 02)
 - #155980 (Move `feature*` methods from `parse` mod to `errors` mod.)
 - #155987 (Make lifting infallible)

Failed merges:

 - #155237 (Disentangle AST crates and error crates)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Apr 30, 2026
…-arch, r=joshtriplett

add `c_variadic_experimental_arch` feature

tracking issue: rust-lang#155973

Based on https://hackmd.io/pIbUgMQuQcGaibJcinOcEw#Stabilize-c-variadic-function-definitions-rust155697, we'll gate niche targets where we don't control the implementation of `va_arg`, the ABI is unclear, or in general where we're not confident stabilizing the implementation.
rust-bors Bot pushed a commit that referenced this pull request Apr 30, 2026
…uwer

Rollup of 13 pull requests

Successful merges:

 - #155249 (Fix: On wasm targets, call `panic_in_cleanup` if panic occurs in cleanup)
 - #155853 (Use `_mcount` as the mcount symbol name on RISC-V Linux GNU targets)
 - #155919 (simplify `ast_fragments!`)
 - #155939 (Add feature gate for view_types experiment)
 - #155974 (add `c_variadic_experimental_arch` feature)
 - #155991 (Catch unwinds from the global ctxt callback to complete queries profiling data in more cases)
 - #156003 (Pass Session to optimize_and_codegen_fat_lto)
 - #153566 (Add suggestion for E0401 on inner const items)
 - #154610 (Suggest public re-exports when a private module makes an import path inaccessible)
 - #155523 (Reorganize `tests/ui/issues/` - 02)
 - #155980 (Move `feature*` methods from `parse` mod to `errors` mod.)
 - #155987 (Make lifting infallible)
 - #155988 (tests/run-make/print-cfg: add Android target_env case)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants