aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC/class-protocol-method-match.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaObjC/class-protocol-method-match.m')
-rw-r--r--test/SemaObjC/class-protocol-method-match.m18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/SemaObjC/class-protocol-method-match.m b/test/SemaObjC/class-protocol-method-match.m
index be1c1e03f3..bffdb79e07 100644
--- a/test/SemaObjC/class-protocol-method-match.m
+++ b/test/SemaObjC/class-protocol-method-match.m
@@ -44,3 +44,21 @@
- (void) bak {}
@end
+// rdar://6911214
+@protocol Xint
+-(void) setX: (int) arg0; // expected-note {{previous definition is here}}
++(void) setX: (int) arg0; // expected-note {{previous definition is here}}
+@end
+
+@interface A <Xint>
+@end
+
+@interface C : A
+-(void) setX: (C*) arg0; // expected-warning {{conflicting parameter types in declaration of 'setX:': 'int' vs 'C *'}}
++(void) setX: (C*) arg0; // expected-warning {{conflicting parameter types in declaration of 'setX:': 'int' vs 'C *'}}
+@end
+
+@implementation C
+-(void) setX: (C*) arg0 {}
++(void) setX: (C*) arg0 {}
+@end