tree-optimization/115602 - SLP CSE results in cycles
[official-gcc.git] / gcc / testsuite / objc / execute / many_args_method.m
blob0c2166945a11c57a091bad6cfc1c2c2f5bd8f157
1 /* Contributed by Nicola Pero - Fri Mar  9 19:39:15 CET 2001 */
2 #include <objc/objc.h>
4 /* Test the syntax of methods with many arguments */
6 @interface TestClass
8   Class isa;
10 + (int) sumInteger: (int)a   withInteger: (int)b;
11 + (int) sum: (int)a   : (int)b;
12 + (int) sumInteger: (int)a   withInteger: (int)b  withInteger: (int)c;
13 + (int) sum: (int)a   : (int)b  : (int)c;
14 @end
16 @implementation TestClass
17 + (int) sumInteger: (int)a  withInteger: (int)b
19   return a + b;
21 + (int) sum: (int)a   : (int)b
23   return [self sumInteger: a  withInteger: b];
25 + (int) sumInteger: (int)a   withInteger: (int)b  withInteger: (int)c
27   return a + b + c;
29 + (int) sum: (int)a   : (int)b  : (int)c
31   return [self sumInteger: a  withInteger: b  withInteger: c];
33 + initialize { return self; }
34 @end
37 int main (void)
39   if ([TestClass sumInteger: 1  withInteger: 1] != 2)
40     {
41       abort ();
42     }
43   if ([TestClass sum: 1  : 1] != 2)
44     {
45       abort ();
46     }
47   if ([TestClass sumInteger: 1  withInteger: 1  withInteger: 1] != 3)
48     {
49       abort ();
50     }
51   if ([TestClass sum: 1  : 1  : 1] != 3)
52     {
53       abort ();
54     }
56   return 0;