diff --git a/test/cases/translate/Calling_convention.c b/test/cases/translate/Calling_convention_aarch64.c similarity index 100% rename from test/cases/translate/Calling_convention.c rename to test/cases/translate/Calling_convention_aarch64.c diff --git a/test/cases/translate/Calling_convention_arm.c b/test/cases/translate/Calling_convention_arm.c new file mode 100644 index 0000000..e069f82 --- /dev/null +++ b/test/cases/translate/Calling_convention_arm.c @@ -0,0 +1,9 @@ +void __attribute__((pcs("aapcs"))) foo1(float *a); +void __attribute__((pcs("aapcs-vfp"))) foo2(float *a); + +// translate +// expect=fail +// target=arm-linux-none +// +// pub extern fn foo1(a: [*c]f32) callconv(.{ .arm_aapcs = .{} }) void; +// pub extern fn foo2(a: [*c]f32) callconv(.{ .arm_aapcs_vfp = .{} }) void; diff --git a/test/cases/translate/Calling_convention_x86.c b/test/cases/translate/Calling_convention_x86.c new file mode 100644 index 0000000..6550209 --- /dev/null +++ b/test/cases/translate/Calling_convention_x86.c @@ -0,0 +1,15 @@ +void __attribute__((fastcall)) foo1(float *a); +void __attribute__((stdcall)) foo2(float *a); +void __attribute__((vectorcall)) foo3(float *a); +void __attribute__((cdecl)) foo4(float *a); +void __attribute__((thiscall)) foo5(float *a); + +// translate +// expect=fail +// target=x86-linux-none +// +// pub extern fn foo1(a: [*c]f32) callconv(.{ .x86_fastcall = .{} }) void; +// pub extern fn foo2(a: [*c]f32) callconv(.{ .x86_stdcall = .{} }) void; +// pub extern fn foo3(a: [*c]f32) callconv(.{ .x86_vectorcall = .{} }) void; +// pub extern fn foo4(a: [*c]f32) void; +// pub extern fn foo5(a: [*c]f32) callconv(.{ .x86_thiscall = .{} }) void;