summaryrefslogtreecommitdiff
path: root/test/ExecutionEngine/test-call.ll
blob: 23e4f14a5402aae10b5047a5e9eef3c3b31c7b84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
; RUN: lli %t.bc > /dev/null


declare void %exit(int)

int %test(sbyte %C, short %S) {
  %X = cast short %S to ubyte
  %Y = cast ubyte %X to int
  ret int %Y
}

void %FP(void(int) * %F) {
	%X = call int %test(sbyte 123, short 1024)
	call void %F(int %X)
	ret void
}

int %main() {
	call void %FP(void(int)* %exit)
	ret int 1
}