summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/testsuite/tests/basic-manyargs/manyargsprim.c
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/testsuite/tests/basic-manyargs/manyargsprim.c')
-rw-r--r--ocaml-binary-annot/testsuite/tests/basic-manyargs/manyargsprim.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/ocaml-binary-annot/testsuite/tests/basic-manyargs/manyargsprim.c b/ocaml-binary-annot/testsuite/tests/basic-manyargs/manyargsprim.c
new file mode 100644
index 0000000000..fb715c6bb3
--- /dev/null
+++ b/ocaml-binary-annot/testsuite/tests/basic-manyargs/manyargsprim.c
@@ -0,0 +1,25 @@
+#include "mlvalues.h"
+#include "stdio.h"
+
+value manyargs(value a, value b, value c, value d, value e, value f,
+ value g, value h, value i, value j, value k)
+{
+ printf("a = %d\n", Int_val(a));
+ printf("b = %d\n", Int_val(b));
+ printf("c = %d\n", Int_val(c));
+ printf("d = %d\n", Int_val(d));
+ printf("e = %d\n", Int_val(e));
+ printf("f = %d\n", Int_val(f));
+ printf("g = %d\n", Int_val(g));
+ printf("h = %d\n", Int_val(h));
+ printf("i = %d\n", Int_val(i));
+ printf("j = %d\n", Int_val(j));
+ printf("k = %d\n", Int_val(k));
+ return Val_unit;
+}
+
+value manyargs_argv(value *argv, int argc)
+{
+ return manyargs(argv[0], argv[1], argv[2], argv[3], argv[4],
+ argv[5], argv[6], argv[7], argv[8], argv[9], argv[10]);
+}