-
Notifications
You must be signed in to change notification settings - Fork 40
more ABIs are now allowed in variadic functions #630
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
Conversation
|
started a Zulip topic |
kirtchev-adacore
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just the alphabetization.
src/types-and-traits.rst
Outdated
| :dp:`fls_o4uSLPo00KUg` | ||
| A :dt:`variadic ABI` is any of the following :t:`[ABI]s`: | ||
|
|
||
| * :dp:`fls_OR85NVifPwjr` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you alphabetize the entries in this list?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kirtchev-adacore
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yay!
This avoids defining a new term, and instead follows Rust Reference
|
it felt better to define variadic function instead of creating a new term, variadic ABI (275e8a1)... what you think @kirtchev-adacore (cc @traviscross) |
src/functions.rst
Outdated
| A :t:`variadic function` can only be used with one of the following :t:`[ABI]s`: | ||
|
|
||
| * :dp:`fls_OR85NVifPwjr` | ||
| ``extern "C"`` | ||
| * :dp:`fls_4s2IdfYDzPrX` | ||
| ``extern "C-unwind"`` | ||
| * :dp:`fls_ZJJppPfiJRou` | ||
| ``extern "aapcs"`` | ||
| * :dp:`fls_jOyZh9ujWWHQ` | ||
| ``extern "aapcs-unwind"`` | ||
| * :dp:`fls_Xdr0bFwxhWiB` | ||
| ``extern "cdecl"`` | ||
| * :dp:`fls_DpTFEHZAABdD` | ||
| ``extern "cdecl-unwind"`` | ||
| * :dp:`fls_b7FTlWfnX2OI` | ||
| ``extern "efiapi"`` | ||
| * :dp:`fls_eHPWHrvs7ETl` | ||
| ``extern "sysv64"`` | ||
| * :dp:`fls_mjCrvmikm58M` | ||
| ``extern "sysv64-unwind"`` | ||
| * :dp:`fls_4EUb9zFatZ97` | ||
| ``extern "win64"`` | ||
| * :dp:`fls_4B4B5FIqAes9` | ||
| ``extern "win64-unwind"`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extern "system" / extern "system-unwind"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
traviscross
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the question about extern "system", this looks good to me.
|
Would like to, in future, use AbiKind, which is defined as the |
I like it! I left a minor suggestion for Tshepang. |
from review
> Since it is the job of the programmer to ensure proper ABI use, the rule must be stated as a requirement ("shall", "must", etc).
Co-authored-by: Hristian Kirtchev <60669983+kirtchev-adacore@users.noreply.github.com>
Co-authored-by: Hristian Kirtchev <60669983+kirtchev-adacore@users.noreply.github.com>
Closes #624