diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2008-04-21 23:57:08 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-04-21 23:57:08 +0000 |
| commit | a591a12ea56c46c61da554e284561e6bfe7270fb (patch) | |
| tree | 2d65046e58b10b4efcec25bff174feef74b7467a /clang/test/Sema | |
| parent | efa92f1dfcbc8c369bb710f7041b5c1b261810f4 (diff) | |
| download | bcm5719-llvm-a591a12ea56c46c61da554e284561e6bfe7270fb.tar.gz bcm5719-llvm-a591a12ea56c46c61da554e284561e6bfe7270fb.zip | |
Allow property in base class to be implemented in a
derived class.
llvm-svn: 50074
Diffstat (limited to 'clang/test/Sema')
| -rw-r--r-- | clang/test/Sema/objc-property-2.m | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/clang/test/Sema/objc-property-2.m b/clang/test/Sema/objc-property-2.m new file mode 100644 index 00000000000..4472a8f6955 --- /dev/null +++ b/clang/test/Sema/objc-property-2.m @@ -0,0 +1,63 @@ +// RUN: clang -fsyntax-only -verify %s + +@interface Tester +@property char PropertyAtomic_char; +@property short PropertyAtomic_short; +@property int PropertyAtomic_int; +@property long PropertyAtomic_long; +@property long long PropertyAtomic_longlong; +@property float PropertyAtomic_float; +@property double PropertyAtomic_double; +@property(assign) id PropertyAtomic_id; +@property(retain) id PropertyAtomicRetained_id; +@property(copy) id PropertyAtomicRetainedCopied_id; +@property(retain) id PropertyAtomicRetainedGCOnly_id; +@property(copy) id PropertyAtomicRetainedCopiedGCOnly_id; +@end + +@implementation Tester +@dynamic PropertyAtomic_char; +@dynamic PropertyAtomic_short; +@dynamic PropertyAtomic_int; +@dynamic PropertyAtomic_long; +@dynamic PropertyAtomic_longlong; +@dynamic PropertyAtomic_float; +@dynamic PropertyAtomic_double; +@dynamic PropertyAtomic_id; +@dynamic PropertyAtomicRetained_id; +@dynamic PropertyAtomicRetainedCopied_id; +@dynamic PropertyAtomicRetainedGCOnly_id; +@dynamic PropertyAtomicRetainedCopiedGCOnly_id; +@end + +@interface SubClass : Tester +{ + char PropertyAtomic_char; + short PropertyAtomic_short; + int PropertyAtomic_int; + long PropertyAtomic_long; + long long PropertyAtomic_longlong; + float PropertyAtomic_float; + double PropertyAtomic_double; + id PropertyAtomic_id; + id PropertyAtomicRetained_id; + id PropertyAtomicRetainedCopied_id; + id PropertyAtomicRetainedGCOnly_id; + id PropertyAtomicRetainedCopiedGCOnly_id; +} +@end + +@implementation SubClass +@synthesize PropertyAtomic_char; +@synthesize PropertyAtomic_short; +@synthesize PropertyAtomic_int; +@synthesize PropertyAtomic_long; +@synthesize PropertyAtomic_longlong; +@synthesize PropertyAtomic_float; +@synthesize PropertyAtomic_double; +@synthesize PropertyAtomic_id; +@synthesize PropertyAtomicRetained_id; +@synthesize PropertyAtomicRetainedCopied_id; +@synthesize PropertyAtomicRetainedGCOnly_id; +@synthesize PropertyAtomicRetainedCopiedGCOnly_id; +@end |

