blob: 1a4e888a26ef5cf3fdccfde0c5334c72e6be86f1 [file] [log] [blame]
; RUN: not --crash llc < %s -wasm-enable-eh -exception-model=wasm -mattr=+exception-handling 2>&1 | FileCheck %s
target triple = "wasm32-unknown-unknown"
; Tests if the compiler correctly errors out when a function having EH pads does
; not have a correct Wasm personality function.
define void @test() personality ptr @invalid_personality {
; CHECK: LLVM ERROR: Function 'test' does not have a correct Wasm personality function '__gxx_wasm_personality_v0'
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
catch.dispatch: ; preds = %entry
%0 = catchswitch within none [label %catch.start] unwind to caller
catch.start: ; preds = %catch.dispatch
%1 = catchpad within %0 [ptr null]
catchret from %1 to label %try.cont
try.cont: ; preds = %catch, %entry
ret void
}
declare void @foo()
declare i32 @invalid_personality(...)