diff options
| author | Hans Wennborg <hans@hanshq.net> | 2013-10-08 21:52:56 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2013-10-08 21:52:56 +0000 |
| commit | 9112ac2136894c6903f3e0df9639592ef78a3b50 (patch) | |
| tree | 1c056335b6c91b783c49a6819724c581c4cac17f /clang/test/CodeGen/microsoft-call-conv.c | |
| parent | 347c2aa3e3b29440a0f3ae389ca9f2dbe9a99c6a (diff) | |
| download | bcm5719-llvm-9112ac2136894c6903f3e0df9639592ef78a3b50.tar.gz bcm5719-llvm-9112ac2136894c6903f3e0df9639592ef78a3b50.zip | |
Turn error about fastcall variadic function into warning in MS mode (PR12535)
MSVC allows this and silently falls back to __cdecl for variadic functions.
This patch turns Clang's error into a warning in MS mode and adds a test
to make sure we generate correct code.
Differential Revision: http://llvm-reviews.chandlerc.com/D1861
llvm-svn: 192240
Diffstat (limited to 'clang/test/CodeGen/microsoft-call-conv.c')
| -rw-r--r-- | clang/test/CodeGen/microsoft-call-conv.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/CodeGen/microsoft-call-conv.c b/clang/test/CodeGen/microsoft-call-conv.c index 1f8bd7318eb..18074243aa9 100644 --- a/clang/test/CodeGen/microsoft-call-conv.c +++ b/clang/test/CodeGen/microsoft-call-conv.c @@ -1,4 +1,5 @@ // RUN: %clang_cc1 -triple i386-pc-linux -emit-llvm < %s | FileCheck %s +// RUN: %clang_cc1 -triple i386-pc-linux -emit-llvm -fms-compatibility -DWIN < %s | FileCheck --check-prefix=WIN %s void __fastcall f1(void); void __stdcall f2(void); @@ -48,3 +49,11 @@ void f8(void) { f7(0); // CHECK: call x86_stdcallcc void @f7(i32 0) } + +// PR12535 +#ifdef WIN +void __fastcall f9(int x, int y) {}; +// WIN: define x86_fastcallcc void @f9({{.*}}) +void __fastcall f10(int x, ...) {}; +// WIN: define void @f10({{.*}}) +#endif |

