Make it easier to handle detected problems by providing the function signature(s) involved in cases of missing argument extensions.
22 lines
545 B
LLVM
22 lines
545 B
LLVM
; RUN: not --crash llc < %s -mtriple=s390x-linux-gnu -argext-abi-check 2>&1 \
|
|
; RUN: | FileCheck %s
|
|
; REQUIRES: asserts
|
|
;
|
|
; Test detection of missing extension involving an internal function which is
|
|
; passed as a function pointer to an external function.
|
|
|
|
define internal i32 @bar(i32 %Arg) {
|
|
ret i32 %Arg
|
|
}
|
|
|
|
declare void @ExtFun(ptr %FunPtr);
|
|
|
|
define void @foo() {
|
|
call void @ExtFun(ptr @bar)
|
|
ret void
|
|
}
|
|
|
|
; CHECK: ERROR: Missing extension attribute of returned value from function:
|
|
; CHECK: i32 @bar(i32)
|
|
; CHECK: UNREACHABLE executed
|