-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Varargs support for system ABI #119587
Varargs support for system ABI #119587
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
These commits modify compiler targets. |
This comment has been minimized.
This comment has been minimized.
bbde65b
to
010c901
Compare
That makes me think, maybe we should first adjust the abi, then check if it is possible to use varargs? |
Does windows have any function that both uses the system abi and is a vararg? How is the abi handled for that function on x86? |
There's some edge cases where this would make the varargs error dependent on the target. For example, a variadic
The example from the issue,
According to https://learn.microsoft.com/en-us/cpp/cpp/stdcall, variadic functions marked with |
r=me after adding cross-link comments to different places that "normalize" calling conventions (#119587 (comment)) + squashing commits. |
0de9144
to
d30b22f
Compare
d30b22f
to
41e224b
Compare
I'm a little unsure of what exactly I am being asked to do here. It seems like the review (#119587 (comment)) says to add a comment in I've done only the former change (and squished) for now. |
Okay, that's good enough. |
…iaskrgr Rollup of 6 pull requests Successful merges: - rust-lang#119587 (Varargs support for system ABI) - rust-lang#119891 (rename `reported_signature_mismatch` to reflect its use) - rust-lang#119894 (Allow `~const` on associated type bounds again) - rust-lang#119896 (Taint `_` placeholder types in trait impl method signatures) - rust-lang#119898 (Remove unused `ErrorReporting` variant from overflow handling) - rust-lang#119902 (fix typo in `fn()` docs) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#119587 - beepster4096:system_varargs, r=petrochenkov Varargs support for system ABI This PR allows functions with the `system` ABI to be variadic (under the `extended_varargs_abi_support` feature tracked in rust-lang#100189). On x86 windows, the `system` ABI is equivalent to `C` for variadic functions. On other platforms, `system` is already equivalent to `C`. Fixes rust-lang#110505
This PR allows functions with the
system
ABI to be variadic (under theextended_varargs_abi_support
feature tracked in #100189). On x86 windows, thesystem
ABI is equivalent toC
for variadic functions. On other platforms,system
is already equivalent toC
.Fixes #110505