summaryrefslogtreecommitdiffstats
path: root/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs')
-rw-r--r--src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs b/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs
new file mode 100644
index 000000000..087743e50
--- /dev/null
+++ b/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs
@@ -0,0 +1,19 @@
+#![feature(abi_efiapi)]
+
+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() {}