You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
@ -1,40 +0,0 @@
|
||||
; RUN: opt %s -inline -S | FileCheck %s
|
||||
; RUN: opt %s -passes='cgscc(inline)' -S | FileCheck %s
|
||||
|
||||
declare void @external_func()
|
||||
|
||||
@exception_type1 = external global i8
|
||||
@exception_type2 = external global i8
|
||||
|
||||
|
||||
define internal void @inner() personality i8* null {
|
||||
invoke void @external_func()
|
||||
to label %cont unwind label %lpad
|
||||
cont:
|
||||
ret void
|
||||
lpad:
|
||||
%lp = landingpad i32
|
||||
catch i8* @exception_type1
|
||||
resume i32 %lp
|
||||
}
|
||||
|
||||
; Test that the "cleanup" clause is kept when inlining @inner() into
|
||||
; this call site (PR17872), otherwise C++ destructors will not be
|
||||
; called when they should be.
|
||||
|
||||
define void @outer() personality i8* null {
|
||||
invoke void @inner()
|
||||
to label %cont unwind label %lpad
|
||||
cont:
|
||||
ret void
|
||||
lpad:
|
||||
%lp = landingpad i32
|
||||
cleanup
|
||||
catch i8* @exception_type2
|
||||
resume i32 %lp
|
||||
}
|
||||
; CHECK: define void @outer
|
||||
; CHECK: landingpad
|
||||
; CHECK-NEXT: cleanup
|
||||
; CHECK-NEXT: catch i8* @exception_type1
|
||||
; CHECK-NEXT: catch i8* @exception_type2
|
Reference in New Issue
Block a user