Mercurial > hg > CbC > CbC_llvm
diff clang/test/CodeGen/mrtd.c @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clang/test/CodeGen/mrtd.c Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,28 @@ +// RUN: %clang_cc1 -mrtd -triple i386-unknown-unknown -std=c89 -emit-llvm -o - %s 2>&1 | FileCheck %s + +// CHECK: mrtd.c:10:3: warning: function with no prototype cannot use the stdcall calling convention + +void baz(int arg); + +// CHECK: define x86_stdcallcc void @foo(i32 %arg) [[NUW:#[0-9]+]] +void foo(int arg) { +// CHECK: call x86_stdcallcc i32 bitcast (i32 (...)* @bar to i32 (i32)*)( + bar(arg); +// CHECK: call x86_stdcallcc void @baz(i32 + baz(arg); +} + +// CHECK: declare x86_stdcallcc i32 @bar(...) + +// CHECK: declare x86_stdcallcc void @baz(i32) + +void qux(int arg, ...) { } +// CHECK: define void @qux(i32 %arg, ...) + +void quux(int a1, int a2, int a3) { + qux(a1, a2, a3); +} +// CHECK-LABEL: define x86_stdcallcc void @quux +// CHECK: call void (i32, ...) @qux + +// CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} }