Dead
[official-gcc.git] / gomp-20050608-branch / gcc / testsuite / objc / execute / va_method.m
blob51619b8d3130377c0010261ead08f7545b94c318
1 /* Contributed by Nicola Pero - Thu Mar  8 16:27:46 CET 2001 */
2 #include <objc/objc.h>
3 #include <objc/objc-api.h>
4 #include <stdarg.h>
6 /* Test method with variable number of arguments */
8 @interface MathClass
10   Class isa;
12 /* sum positive numbers; -1 ends the list */
13 + (int) sum: (int)firstNumber, ...;
14 @end
16 @implementation MathClass
17 + (int) sum: (int)firstNumber, ...
19   va_list ap;
20   int sum = 0, number = 0;
22   va_start (ap, firstNumber);
23   number = firstNumber;
25   while (number >= 0)
26     {
27       sum += number;
28       number = va_arg (ap, int);
29     }
30   
31   va_end (ap);
33   return sum;
35 #ifdef __NEXT_RUNTIME__                                   
36 + initialize { return self; }
37 #endif
38 @end
40 int main (void)
42   if ([MathClass sum: 1, 2, 3, 4, 5, -1] != 15)
43     {
44       abort ();
45     }
46   
47   return 0;