Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-399.cs
1 // Compiler options: -r:test-399-lib.dll
2
3 using System;
4
5 class TestVararg
6 {
7         static void F (RuntimeArgumentHandle rah)
8         {
9         }
10         
11         static void G (__arglist)
12         {
13                 F (new RuntimeArgumentHandle ());
14                 F (__arglist);
15         }
16         
17         public static int Main ()
18         {
19                 int result = Vararg.AddABunchOfInts (__arglist ( 2, 3, 4 ));
20                 Console.WriteLine ("Answer: {0}", result);
21
22                 if (result != 9)
23                         return 1;
24
25                 result = Vararg.AddASecondBunchOfInts (16, __arglist ( 2, 3, 4 ));
26                 Console.WriteLine ("Answer: {0}", result);
27
28                 if (result != 9)
29                         return 2;
30
31                 Vararg s = new Vararg ();
32
33                 result = s.InstAddABunchOfInts (__arglist ( 2, 3, 4, 5 ));
34                 Console.WriteLine ("Answer: {0}", result);
35
36                 if (result != 14)
37                         return 3;
38
39                 result = s.InstAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 ));
40                 Console.WriteLine ("Answer: {0}", result);
41
42                 if (result != 20)
43                         return 4;
44
45                 result = s.InstVtAddABunchOfInts (__arglist ( 2, 3, 4, 5 )).res;
46                 Console.WriteLine ("Answer: {0}", result);
47
48                 if (result != 14)
49                         return 5;
50
51                 result = s.InstVtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6 )).res;
52                 Console.WriteLine ("Answer: {0}", result);
53
54                 if (result != 20)
55                         return 6;
56
57                 result = Vararg.VtAddABunchOfInts (__arglist ( 2, 3, 4, 5, 1 )).res;
58                 Console.WriteLine ("Answer: {0}", result);
59
60                 if (result != 15)
61                         return 7;
62
63                 result = Vararg.VtAddASecondBunchOfInts (16, __arglist ( 2, 3, 4, 5, 6, 1 )).res;
64                 Console.WriteLine ("Answer: {0}", result);
65
66                 if (result != 21)
67                         return 8;
68
69                 return 0;
70         }
71 }