llvm/llvm/test/CodeGen/X86/fp-clobbered-by-eh.ll

; RUN: not llc -mtriple=x86_64-unknown-unknown -stackrealign -verify-machineinstrs %s -o - 2>&1 | FileCheck %s

declare ghccc void @may_throw_or_crash()
declare i32 @_except_handler3(...)

define internal i64 @catchall_filt() {
  ret i64 1
}

; If the invoked function clobbers frame pointer and/or base pointer according
; to its calling convention, we can't handle it currently, so reports an error
; message.

; CHECK: <unknown>:0: error: Frame pointer clobbered by function invoke is not supported
; CHECK: <unknown>:0: error: Stack realignment in presence of dynamic allocas is not supported with this calling convention
define void @use_except_handler3() personality ptr @_except_handler3 {
entry:
  invoke ghccc void @may_throw_or_crash()
      to label %cont unwind label %lpad
cont:
  ret void
lpad:
  %cs = catchswitch within none [label %catch] unwind to caller
catch:
  %p = catchpad within %cs [ptr @catchall_filt]
  catchret from %p to label %cont
}