about summary refs log tree commit diff homepage
path: root/test/Concrete/InvokeAndUnwindTwice.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Concrete/InvokeAndUnwindTwice.ll')
-rw-r--r--test/Concrete/InvokeAndUnwindTwice.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Concrete/InvokeAndUnwindTwice.ll b/test/Concrete/InvokeAndUnwindTwice.ll
new file mode 100644
index 00000000..81760b86
--- /dev/null
+++ b/test/Concrete/InvokeAndUnwindTwice.ll
@@ -0,0 +1,22 @@
+declare void @print_i32(i32)
+
+define i8 @myadd(i8 %a, i8 %b) {
+	unwind
+}
+
+define i8 @sum(i8 %a, i8 %b) {
+	%c = call i8 @myadd(i8 %a, i8 %b)
+	ret i8 %c
+}
+
+define i32 @main() {
+	invoke i8 @sum(i8 1, i8 2) 
+		to label %continue
+		unwind label %error
+continue:
+	call void @print_i32(i32 1)
+	ret i32 0
+error:
+	call void @print_i32(i32 0)
+	ret i32 0
+}