1/* Only needs to compile. */ 2/* { dg-additional-options "-std=c++11" } */ 3 4#ifdef __cplusplus 5enum X { 6 x = 5, 7 y 8}; 9#endif 10 11__attribute__((__objc_root_class__)) 12@interface A 13- (id) :(id)arg0 :(id)arg1; 14- (id) m:(id)arg0 :(id)arg1 :(id)arg2 :(id)arg3; 15#ifdef __cplusplus 16- (id) n:(X)arg0 :(X)arg1 :(id)arg2 :(id)arg3; 17#endif 18@end 19 20@implementation A 21- (id) :(id)arg0 :(id)arg1 22{ 23 return arg1; 24} 25- (id) m:(id)arg0 :(id)arg1 :(id)arg2 :(id)arg3 26{ 27 return arg2; 28} 29#ifdef __cplusplus 30- (id) n:(X)arg0 :(X)arg1 :(id)arg2 :(id)arg3 31{ 32 return arg2; 33} 34#endif 35@end 36 37id f1 (A *x) 38{ 39 return [x:x:x]; 40} 41 42id f2 (A *x) 43{ 44 return [x m:x:x:x:x]; 45} 46 47#ifdef __cplusplus 48id f3 (A *x) 49{ 50 return [x n:X::x:X::y:x:x]; 51} 52#endif 53