blob: 0a9ce58da71cbb0e6ed65bd03d5f6abfbb66dbe0 [file] [log] [blame]
; Test that even if a call return type matches its declaration, it must still be
; a legal call return type (unless declaration is intrinsic).
; REQUIRES: no_minimal_build
; RUN: %p2i --expect-fail -i %s --insts --args \
; RUN: -allow-externally-defined-symbols | FileCheck %s
declare i32 @f();
declare i64 @g();
define void @Test(i32 %ifcn) {
entry:
%fcn = inttoptr i32 %ifcn to i1()*
%v = call i1 %fcn()
; CHECK: Return type of function is invalid: i1
ret void
}