about summary refs log tree commit diff homepage
path: root/test/Concrete/InvokeAndUnwindTwice.ll
blob: 81760b86bd71fd5d2bca9aab12bf9c3911afb7b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
}