-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Tracking Issue for extended_varargs_abi_support
#100189
Comments
…rochenkov 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
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
These two functions are defined as variadic (use `...`) which is currently only available for the `C` and `cdecl` ABIs. Make them unavailable until the feature is stabilized for `efiapi`. Ref: rust-lang/rust#100189 Signed-off-by: Tim Crawford <tcrawford@system76.com>
Stabilize `extended_varargs_abi_support` I think that is everything? If there is any documentation regarding `extern` and/or varargs to correct, let me know, some quick greps suggest that there might be none. Tracking issue: rust-lang#100189
Stabilize `extended_varargs_abi_support` I think that is everything? If there is any documentation regarding `extern` and/or varargs to correct, let me know, some quick greps suggest that there might be none. Tracking issue: rust-lang#100189
Stabilize `extended_varargs_abi_support` I think that is everything? If there is any documentation regarding `extern` and/or varargs to correct, let me know, some quick greps suggest that there might be none. Tracking issue: rust-lang#100189
Rollup merge of rust-lang#116161 - Soveu:varargs2, r=cjgillot Stabilize `extended_varargs_abi_support` I think that is everything? If there is any documentation regarding `extern` and/or varargs to correct, let me know, some quick greps suggest that there might be none. Tracking issue: rust-lang#100189
Closing since this was stabilized and docs have been merged (rust-lang/reference#1687). |
Reopening because no team ever FCPed this and there are legitimate reasons to question, or at least discuss, the precise implementation here. Accordingly I have opened #136897 |
Apparently part of the motive to fold I think making that decision would potentially be acceptable but it seems like a distinct one and deserves a bit more thought. |
…r=WaffleLapkin Revert "Stabilize `extended_varargs_abi_support`" I cannot find an FCP for this, despite it being a stabilization PR which normally means we do an FCP of some kind? It would seem reasonable for _either_ compiler or lang to have FCPed it? I am thus opening a revert PR, which mostly-cleanly applies, so that we can later actually land this properly with a stability report and FCP. - rust-lang#136896 - rust-lang#116161 - rust-lang#100189
This is a tracking issue for extending available ABIs for var-args functions.
The feature gate for the issue is
#![feature(extended_varargs_abi_support)]
.About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Steps
Stabilizereverted by Revert "Stabilizeextended_varargs_abi_support
#116161extended_varargs_abi_support
" #136897Implementation history
extended_varargs_abi_support
#116161Unresolved Questions
extern "system"
be included? the original feature only described itself as applying toextern "efiapi"
,extern "sysv64"
, andextern "win64"
, and later the feature described itself as applying toextern "aapcs"
, but the only case whereextern "system"
is meaningfully distinct is a case where it cannot be a vararg ABI. while MSVC sometimes translates__stdcall
to be identical to the C ABI, we have previously rejected implementing MSVC's oddities:unsupported_calling_conventions
#87678Footnotes
this was not recorded as part of the impl history until after it was discovered this feature was initially stabilized without an FCP. ↩
The text was updated successfully, but these errors were encountered: