summaryrefslogtreecommitdiff
path: root/test/CodeGen/CBackend/2004-11-13-FunctionPointerCast.llx
blob: 99bb602ce3e7ffb2c9af541da3b3eb150cf240f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; The CBE should not emit code that casts the function pointer.  This causes
; GCC to get testy and insert trap instructions instead of doing the right
; thing. :(
; RUN: llvm-upgrade < %s | llvm-as | llc -march=c

implementation

declare void %external(sbyte*)

int %test(int *%X) {
	%RV = call int (int*)* cast (void(sbyte*)* %external to int(int*)*)(int* %X)
	ret int %RV
}