Add more function call and prototype specific tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@777 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Feature/calltest.ll b/test/Feature/calltest.ll
index 192dca3..1be7ad5 100644
--- a/test/Feature/calltest.ll
+++ b/test/Feature/calltest.ll
@@ -1,13 +1,28 @@
+%FunTy = type int(int)
+
+declare int "test"(...) ; Test differences of prototype
+declare int "test"() ; Differ only by vararg
+
implementation
-; Bytecode gets a constant pool block, that constains:
-; type plane: int(int)
+void "invoke"(%FunTy *%x)
+begin
+ %foo = call %FunTy* %x(int 123)
+ ret void
+end
int "main"(int %argc) ; TODO: , sbyte **argv, sbyte **envp)
begin
%retval = call int (int) *%test(int %argc)
%two = add int %retval, %retval
- ret int %two
+ %retval2 = invoke int %test(int %argc)
+ to label %Next except label %Error
+Next:
+ %two2 = add int %two, %retval2
+ call void %invoke (%FunTy* %test)
+ ret int %two2
+Error:
+ ret int -1
end
int "test"(int %i0)