diff options
Diffstat (limited to 'test/CodeGen/microsoft-call-conv.c')
-rw-r--r-- | test/CodeGen/microsoft-call-conv.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/test/CodeGen/microsoft-call-conv.c b/test/CodeGen/microsoft-call-conv.c index 64d10fb..b80c58d 100644 --- a/test/CodeGen/microsoft-call-conv.c +++ b/test/CodeGen/microsoft-call-conv.c @@ -1,20 +1,22 @@ // RUN: %clang_cc1 -triple i386-pc-linux -emit-llvm < %s | FileCheck %s +// RUN: %clang_cc1 -triple i386-pc-linux -emit-llvm -mrtd < %s | FileCheck %s +// RUN: %clang_cc1 -triple i386-pc-linux -emit-llvm -fms-compatibility < %s void __fastcall f1(void); void __stdcall f2(void); void __thiscall f3(void); void __fastcall f4(void) { -// CHECK: define x86_fastcallcc void @f4() +// CHECK-LABEL: define x86_fastcallcc void @f4() f1(); // CHECK: call x86_fastcallcc void @f1() } void __stdcall f5(void) { -// CHECK: define x86_stdcallcc void @f5() +// CHECK-LABEL: define x86_stdcallcc void @f5() f2(); // CHECK: call x86_stdcallcc void @f2() } void __thiscall f6(void) { -// CHECK: define x86_thiscallcc void @f6() +// CHECK-LABEL: define x86_thiscallcc void @f6() f3(); // CHECK: call x86_thiscallcc void @f3() } @@ -48,3 +50,11 @@ void f8(void) { f7(0); // CHECK: call x86_stdcallcc void @f7(i32 0) } + +// PR12535 +void __fastcall f9(int x, int y) {}; +// WIN: define x86_fastcallcc void @f9({{.*}}) +void __fastcall f10(int x, ...) {}; +// WIN: define void @f10({{.*}}) +void __stdcall f11(int x, ...) {}; +// WIN: define void @f11({{.*}}) |