summaryrefslogtreecommitdiffstats
path: root/llvm/test/Feature/exception.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Feature/exception.ll')
-rw-r--r--llvm/test/Feature/exception.ll69
1 files changed, 69 insertions, 0 deletions
diff --git a/llvm/test/Feature/exception.ll b/llvm/test/Feature/exception.ll
index 7568ecfa5f7..3fd3e087acf 100644
--- a/llvm/test/Feature/exception.ll
+++ b/llvm/test/Feature/exception.ll
@@ -25,3 +25,72 @@ lpad: ; preds = %entry
declare void @_Z3quxv() optsize
declare i32 @__gxx_personality_v0(...)
+
+define void @cleanupret0() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ cleanupret i8 0 unwind label %bb
+bb:
+ ret void
+}
+
+define void @cleanupret1() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ cleanupret void unwind label %bb
+bb:
+ ret void
+}
+
+define void @cleanupret2() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ cleanupret i8 0 unwind to caller
+}
+
+define void @cleanupret3() personality i32 (...)* @__gxx_personality_v0 {
+ cleanupret void unwind to caller
+}
+
+define void @catchret() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ br label %bb
+bb:
+ catchret label %bb
+}
+
+define i8 @catchblock() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ %cbv = catchblock i8 [i7 4] to label %bb unwind label %bb2
+bb:
+ ret i8 %cbv
+bb2:
+ ret i8 42
+}
+
+define void @terminateblock0() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ terminateblock [i7 4] unwind label %bb
+bb:
+ ret void
+}
+
+define void @terminateblock1() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ terminateblock [i7 4] unwind to caller
+}
+
+define void @cleanupblock() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ cleanupblock void [i7 4]
+ ret void
+}
+
+define void @catchendblock0() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ catchendblock unwind label %bb
+bb:
+ ret void
+}
+
+define void @catchendblock1() personality i32 (...)* @__gxx_personality_v0 {
+entry:
+ catchendblock unwind to caller
+}
OpenPOWER on IntegriCloud