1; RUN: llvm-as < %s | llvm-dis > %t1.ll
2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3; RUN: diff %t1.ll %t2.ll
4
5define fastcc void @foo() {
6        ret void
7}
8
9define coldcc void @bar() {
10        call fastcc void @foo( )
11        ret void
12}
13
14define void @structret({ i8 }* sret  %P) {
15        call void @structret( { i8 }* sret  %P )
16        ret void
17}
18
19define void @foo2() {
20        ret void
21}
22
23define coldcc void @bar2() {
24        call fastcc void @foo( )
25        ret void
26}
27
28define cc42 void @bar3() {
29  invoke fastcc void @foo( )
30    to label %Ok unwind label %U
31
32Ok:
33  ret void
34
35U:
36  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
37            cleanup
38  resume { i8*, i32 } %exn
39}
40
41define void @bar4() {
42  call cc42 void @bar( )
43  invoke cc42 void @bar3( )
44    to label %Ok unwind label %U
45
46Ok:
47  ret void
48
49U:
50  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
51            cleanup
52  resume { i8*, i32 } %exn
53}
54
55declare i32 @__gxx_personality_v0(...)
56