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