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

13 lines
384 B
LLVM

; 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: llc < %s -march=c
declare void @external(i8*)
define i32 @test(i32* %X) {
%RV = call i32 bitcast (void (i8*)* @external to i32 (i32*)*)( i32* %X ) ; <i32> [#uses=1]
ret i32 %RV
}