forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rust-lang#136897 - workingjubilee:revert-unfcped-stab, …
…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
- Loading branch information
Showing
16 changed files
with
126 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
src/doc/unstable-book/src/language-features/extended-varargs-abi-support.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# `extended_varargs_abi_support` | ||
|
||
The tracking issue for this feature is: [#100189] | ||
|
||
[#100189]: https://github.com/rust-lang/rust/issues/100189 | ||
|
||
------------------------ | ||
|
||
This feature adds the possibility of using `sysv64`, `win64` or `efiapi` calling | ||
conventions on functions with varargs. |
19 changes: 19 additions & 0 deletions
19
tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
//@ only-x86_64 | ||
|
||
fn efiapi(f: extern "efiapi" fn(usize, ...)) { | ||
//~^ ERROR: C-variadic function must have a compatible calling convention, like `C` or `cdecl` | ||
//~^^ ERROR: using calling conventions other than `C` or `cdecl` for varargs functions is unstable | ||
f(22, 44); | ||
} | ||
fn sysv(f: extern "sysv64" fn(usize, ...)) { | ||
//~^ ERROR: C-variadic function must have a compatible calling convention, like `C` or `cdecl` | ||
//~^^ ERROR: using calling conventions other than `C` or `cdecl` for varargs functions is unstable | ||
f(22, 44); | ||
} | ||
fn win(f: extern "win64" fn(usize, ...)) { | ||
//~^ ERROR: C-variadic function must have a compatible calling convention, like `C` or `cdecl` | ||
//~^^ ERROR: using calling conventions other than `C` or `cdecl` for varargs functions is unstable | ||
f(22, 44); | ||
} | ||
|
||
fn main() {} |
52 changes: 52 additions & 0 deletions
52
tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
error[E0658]: using calling conventions other than `C` or `cdecl` for varargs functions is unstable | ||
--> $DIR/feature-gate-extended_varargs_abi_support.rs:3:14 | ||
| | ||
LL | fn efiapi(f: extern "efiapi" fn(usize, ...)) { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: see issue #100189 <https://github.com/rust-lang/rust/issues/100189> for more information | ||
= help: add `#![feature(extended_varargs_abi_support)]` to the crate attributes to enable | ||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date | ||
|
||
error[E0045]: C-variadic function must have a compatible calling convention, like `C` or `cdecl` | ||
--> $DIR/feature-gate-extended_varargs_abi_support.rs:3:14 | ||
| | ||
LL | fn efiapi(f: extern "efiapi" fn(usize, ...)) { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention | ||
|
||
error[E0658]: using calling conventions other than `C` or `cdecl` for varargs functions is unstable | ||
--> $DIR/feature-gate-extended_varargs_abi_support.rs:8:12 | ||
| | ||
LL | fn sysv(f: extern "sysv64" fn(usize, ...)) { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: see issue #100189 <https://github.com/rust-lang/rust/issues/100189> for more information | ||
= help: add `#![feature(extended_varargs_abi_support)]` to the crate attributes to enable | ||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date | ||
|
||
error[E0045]: C-variadic function must have a compatible calling convention, like `C` or `cdecl` | ||
--> $DIR/feature-gate-extended_varargs_abi_support.rs:8:12 | ||
| | ||
LL | fn sysv(f: extern "sysv64" fn(usize, ...)) { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention | ||
|
||
error[E0658]: using calling conventions other than `C` or `cdecl` for varargs functions is unstable | ||
--> $DIR/feature-gate-extended_varargs_abi_support.rs:13:11 | ||
| | ||
LL | fn win(f: extern "win64" fn(usize, ...)) { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: see issue #100189 <https://github.com/rust-lang/rust/issues/100189> for more information | ||
= help: add `#![feature(extended_varargs_abi_support)]` to the crate attributes to enable | ||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date | ||
|
||
error[E0045]: C-variadic function must have a compatible calling convention, like `C` or `cdecl` | ||
--> $DIR/feature-gate-extended_varargs_abi_support.rs:13:11 | ||
| | ||
LL | fn win(f: extern "win64" fn(usize, ...)) { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention | ||
|
||
error: aborting due to 6 previous errors | ||
|
||
Some errors have detailed explanations: E0045, E0658. | ||
For more information about an error, try `rustc --explain E0045`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters