From 57c99347c56b786a67291146e9c1ff992386c9dc Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Fri, 2 May 2008 21:09:40 +0000 Subject: [PATCH] Another test case for properties in protocols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50589 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Sema/objc-property-5.m | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 test/Sema/objc-property-5.m diff --git a/test/Sema/objc-property-5.m b/test/Sema/objc-property-5.m new file mode 100644 index 0000000000..c467e634dc --- /dev/null +++ b/test/Sema/objc-property-5.m @@ -0,0 +1,31 @@ +// RUN: clang -verify %s + +@protocol P1 @end +@protocol P2 @end +@protocol P3 @end + +@interface NSData @end + +@interface MutableNSData : NSData @end + +@interface Base : NSData +@property(readonly) id ref; +@property(readonly) Base *p_base; +@property(readonly) NSData *nsdata; +@property(readonly) NSData * m_nsdata; +@end + +@interface Data : Base +@property(readonly) NSData *ref; // expected-warning {{property type 'NSData *' does not match property type inherited from 'Base'}} +@property(readonly) Data *p_base; // expected-warning {{property type 'Data *' does not match property type inherited from 'Base'}} +@property(readonly) MutableNSData * m_nsdata; // expected-warning {{property type 'MutableNSData *' does not match property type inherited from 'Base'}} +@end + +@interface MutedData: Data +@property(readonly) id p_base; // expected-warning {{property type 'id' does not match property type inherited from 'Data'}} +@end + +@interface ConstData : Data +@property(readonly) ConstData *p_base; // expected-warning {{property type 'ConstData *' does not match property type inherited from 'Data'}} +@end + -- 2.40.0