bolt/deps/llvm-18.1.8/llvm/test/Verifier/operand-bundles-wineh.ll
2025-02-14 19:21:04 +01:00

28 lines
669 B
LLVM

; RUN: not opt -passes=verify < %s 2>&1 | FileCheck %s
define void @report_missing() personality ptr @__CxxFrameHandler3 {
entry:
invoke void @may_throw() to label %eh.cont unwind label %catch.dispatch
catch.dispatch:
%0 = catchswitch within none [label %catch] unwind to caller
catch:
%1 = catchpad within %0 [ptr null, i32 0, ptr null]
br label %catch.cont
catch.cont:
; CHECK: Missing funclet token on intrinsic call
%2 = call ptr @llvm.objc.retain(ptr null)
catchret from %1 to label %eh.cont
eh.cont:
ret void
}
declare void @may_throw()
declare i32 @__CxxFrameHandler3(...)
declare ptr @llvm.objc.retain(ptr) #0
attributes #0 = { nounwind }