| ; RUN: llvm-as %s -o - | llvm-dis > %t1.ll |
| ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll |
| ; RUN: diff %t1.ll %t2.ll |
| |
| %myty = type i55 |
| %myfn = type float (i55,double,i55,i16) |
| type i55(%myfn*) |
| type i55(i55) |
| type i55(i55(i55)*) |
| |
| %thisfuncty = type i55 (i55) * |
| |
| declare void @F(%thisfuncty, %thisfuncty, %thisfuncty) |
| |
| ; This function always returns zero |
| define i55 @zarro(i55 %Func) |
| begin |
| Startup: |
| add i55 0, 10 |
| ret i55 0 |
| end |
| |
| define i55 @test(i55) |
| begin |
| call void @F(%thisfuncty @zarro, %thisfuncty @test, %thisfuncty @foozball) |
| ret i55 0 |
| end |
| |
| define i55 @foozball(i55) |
| begin |
| ret i55 0 |
| end |
| |