blob: bdc0c8cf7fd6cd65b209513d711aa70306b33531 [file] [log] [blame]
Reid Kleckner5772b772014-04-24 20:14:34 +00001; RUN: llvm-as %s -o /dev/null
2
3; Should assemble without error.
4
5declare void @similar_param_ptrty_callee(i8*)
6define void @similar_param_ptrty(i32*) {
7 musttail call void @similar_param_ptrty_callee(i8* null)
8 ret void
9}
10
11declare i8* @similar_ret_ptrty_callee()
12define i32* @similar_ret_ptrty() {
13 %v = musttail call i8* @similar_ret_ptrty_callee()
14 %w = bitcast i8* %v to i32*
15 ret i32* %w
16}
Reid Kleckner329d4a22014-08-29 21:25:28 +000017
18declare x86_thiscallcc void @varargs_thiscall(i8*, ...)
19define x86_thiscallcc void @varargs_thiscall_thunk(i8* %this, ...) {
20 musttail call x86_thiscallcc void (i8*, ...)* @varargs_thiscall(i8* %this, ...)
21 ret void
22}
23
24declare x86_fastcallcc void @varargs_fastcall(i8*, ...)
25define x86_fastcallcc void @varargs_fastcall_thunk(i8* %this, ...) {
26 musttail call x86_fastcallcc void (i8*, ...)* @varargs_fastcall(i8* %this, ...)
27 ret void
28}
29
30define x86_thiscallcc void @varargs_thiscall_unreachable(i8* %this, ...) {
31 unreachable
32}
33
34define x86_thiscallcc void @varargs_thiscall_ret_unreachable(i8* %this, ...) {
35 musttail call x86_thiscallcc void (i8*, ...)* @varargs_thiscall(i8* %this, ...)
36 ret void
37bb1:
38 ret void
39}