You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/items/external-blocks.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -131,13 +131,15 @@ There are also some platform-specific ABI strings:
131
131
r[items.extern.abi.cdecl]
132
132
*`unsafe extern "cdecl"` --- The calling convention typically used with x86_32 C code.
133
133
* Only available on x86_32 targets.
134
+
* Corresponds to MSVC's `__cdecl` and GCC and clang's `__attribute__((cdecl))`.
134
135
135
136
> [!NOTE]
136
137
> See <https://learn.microsoft.com/en-us/cpp/cpp/cdecl> and <https://en.wikipedia.org/wiki/X86_calling_conventions#cdecl> for more information.
137
138
138
139
r[items.extern.abi.stdcall]
139
140
*`unsafe extern "stdcall"` --- The calling convention typically used by the [Win32 API] on x86_32.
140
141
* Only available on x86_32 targets.
142
+
* Corresponds to MSVC's `__stdcall` and GCC and clang's `__attribute__((stdcall))`.
141
143
142
144
> [!NOTE]
143
145
> See <https://learn.microsoft.com/en-us/cpp/cpp/stdcall> and <https://en.wikipedia.org/wiki/X86_calling_conventions#stdcall> for more information.
@@ -146,6 +148,7 @@ r[items.extern.abi.win64]
146
148
*`unsafe extern "win64"` --- The Windows x64 ABI.
147
149
* Only available on x86_64 targets.
148
150
* "win64" is the same as the "C" ABI on Windows x86_64 targets.
151
+
* Corresponds to GCC and clang's `__attribute__((ms_abi))`.
149
152
150
153
> [!NOTE]
151
154
> See <https://learn.microsoft.com/en-us/cpp/build/x64-software-conventions> and <https://en.wikipedia.org/wiki/X86_calling_conventions#Microsoft_x64_calling_convention> for more information.
@@ -154,6 +157,7 @@ r[items.extern.abi.sysv64]
154
157
*`unsafe extern "sysv64"` --- The System V ABI.
155
158
* Only available on x86_64 targets.
156
159
* "sysv64" is the same as the "C" ABI on non-Windows x86_64 targets.
160
+
* Corresponds to GCC and clang's `__attribute__((sysv_abi))`.
157
161
158
162
> [!NOTE]
159
163
> See <https://wiki.osdev.org/System_V_ABI> or <https://en.wikipedia.org/wiki/X86_calling_conventions#System_V_AMD64_ABI> for more information.
@@ -162,20 +166,23 @@ r[items.extern.abi.aapcs]
162
166
*`unsafe extern "aapcs"` --- The soft-float ABI for ARM.
163
167
* Only available on ARM32 targets.
164
168
* "aapcs" is the same as the "C" ABI on soft-float ARM32.
169
+
* Corresponds to clang's `__attribute__((pcs("aapcs")))`.
165
170
166
171
> [!NOTE]
167
172
> See [Arm Procedure Call Standard](https://developer.arm.com/documentation/107656/0101/Getting-started-with-Armv8-M-based-systems/Procedure-Call-Standard-for-Arm-Architecture--AAPCS-) for more information.
168
173
169
174
r[items.extern.abi.fastcall]
170
-
*`unsafe extern "fastcall"` --- The `fastcall` ABI --- corresponds to MSVC's `__fastcall` and GCC and clang's `__attribute__((fastcall))`.
175
+
*`unsafe extern "fastcall"` --- A "fast" variant of stdcall that passes some arguments in registers.
171
176
* Only available on x86_32 targets.
177
+
* Corresponds to MSVC's `__fastcall` and GCC and clang's `__attribute__((fastcall))`.
172
178
173
179
> [!NOTE]
174
180
> See <https://learn.microsoft.com/en-us/cpp/cpp/fastcall> and <https://en.wikipedia.org/wiki/X86_calling_conventions#Microsoft_fastcall> for more information.
175
181
176
182
r[items.extern.abi.thiscall]
177
-
*`unsafe extern "thiscall"` --- The calling convention typically used on C++ class member functions on x86_32 MSVC --- corresponds to MSVC's `__thiscall` and GCC and clang's `__attribute__((thiscall))`.
183
+
*`unsafe extern "thiscall"` --- The calling convention typically used on C++ class member functions on x86_32 MSVC.
178
184
* Only available on x86_32 targets.
185
+
* Corresponds to MSVC's `__thiscall` and GCC and clang's `__attribute__((thiscall))`.
179
186
180
187
> [!NOTE]
181
188
> See <https://en.wikipedia.org/wiki/X86_calling_conventions#thiscall> and <https://learn.microsoft.com/en-us/cpp/cpp/thiscall> for more information.
0 commit comments