diff options
author | Hans Wennborg <hans@hanshq.net> | 2013-10-09 18:10:25 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2013-10-09 18:10:25 +0000 |
commit | 1e109804f5c2ffbd163920c0760e7094cd10b0ba (patch) | |
tree | 8eafb9454ad16ba8aff52b5d76441cb6334b2cd3 /clang/test/CodeGen/microsoft-call-conv.c | |
parent | 63de98b0a0c0de381313648b358c692c66235d22 (diff) | |
download | bcm5719-llvm-1e109804f5c2ffbd163920c0760e7094cd10b0ba.tar.gz bcm5719-llvm-1e109804f5c2ffbd163920c0760e7094cd10b0ba.zip |
Tighten diagnostics for calling conventions on variadic functions
Follow-up from r192240.
This makes it an error to use callee-cleanup conventions on variadic
functions, except for __fastcall and __stdcall, which we ignore with
a warning for GCC and MSVC compatibility.
Differential Revision: http://llvm-reviews.chandlerc.com/D1870
llvm-svn: 192308
Diffstat (limited to 'clang/test/CodeGen/microsoft-call-conv.c')
-rw-r--r-- | clang/test/CodeGen/microsoft-call-conv.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/test/CodeGen/microsoft-call-conv.c b/clang/test/CodeGen/microsoft-call-conv.c index 18074243aa9..b80c58dfd1f 100644 --- a/clang/test/CodeGen/microsoft-call-conv.c +++ b/clang/test/CodeGen/microsoft-call-conv.c @@ -1,5 +1,6 @@ // 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 +// 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); @@ -51,9 +52,9 @@ void f8(void) { } // 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 +void __stdcall f11(int x, ...) {}; +// WIN: define void @f11({{.*}}) |