1/* Tests of duplication.  */
2/* { dg-do compile } */
3
4@interface class1
5- (int) meth1;   /* { dg-message "previous declaration" } */
6- (void) meth1;  /* { dg-error "duplicate declaration of method .\\-meth1." } */
7@end
8
9@interface class2
10+ (void) meth1; /* { dg-message "previous declaration" } */
11+ (int) meth1;  /* { dg-error "duplicate declaration of method .\\+meth1." } */
12@end
13
14@interface class3
15- (int) meth1;
16@end
17
18@implementation class3
19- (int) meth1 { return 0; } /* { dg-message "previously defined here" } */
20- (int) meth1 { return 0; } /* { dg-error "redefinition of" } */
21@end
22
23@interface class4
24+ (void) meth1;
25@end
26
27@implementation class4
28+ (void) meth1 {} /* { dg-message "previously defined here" } */
29+ (void) meth1 {} /* { dg-error "redefinition of" } */
30@end
31