Initial checkin
[oota-llvm.git] / test / Feature / calltest.ll
1 %FunTy = type int(int)
2
3 declare int "test"(...)   ; Test differences of prototype
4 declare int "test"()      ; Differ only by vararg
5
6 implementation
7
8 void "invoke"(%FunTy *%x)
9 begin
10         %foo = call %FunTy* %x(int 123)
11         ret void
12 end
13
14 int "main"(int %argc)   ; TODO: , sbyte **argv, sbyte **envp)
15 begin
16         %retval = call int (int) *%test(int %argc)
17         %two    = add int %retval, %retval
18         %retval2 = invoke int %test(int %argc)
19                    to label %Next except label %Error
20 Next:
21         %two2 = add int %two, %retval2
22         call void %invoke (%FunTy* %test)
23         ret int %two2
24 Error:
25         ret int -1
26 end
27
28 int "test"(int %i0)
29 begin
30     ret int %i0
31 end