llvm-project/llvm/test/CodeGen/CBackend/2004-11-13-FunctionPointerC...

18 lines
381 B
Plaintext

; 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
}