summaryrefslogtreecommitdiff
path: root/test/Feature/forwardreftest.ll
blob: 6ca1be79e4617be8efc8a214d6ac997b0d09e21a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
; RUN: llvm-as < %s | llvm-dis > %t1.ll
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
; RUN: diff %t1.ll %t2.ll

%myty = type i32 
%myfn = type float (i32,double,i32,i16)
%0 = type i32(%myfn*)
%1 = type i32(i32)
%2 = type i32(i32(i32)*)

  %thisfuncty = type i32 (i32) *

declare void @F(%thisfuncty, %thisfuncty, %thisfuncty)

define i32 @zarro(i32 %Func) {
Startup:
        add i32 0, 10           ; <i32>:0 [#uses=0]
        ret i32 0
}

define i32 @test(i32) {
        call void @F( %thisfuncty @zarro, %thisfuncty @test, %thisfuncty @foozball )
        ret i32 0
}

define i32 @foozball(i32) {
        ret i32 0
}