| // RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class %s | 
 | // rdar://7766184 | 
 |  | 
 | @interface Foo @end | 
 |  | 
 | @interface Foo () | 
 |   @property (readonly) int bar; | 
 | @end | 
 |  | 
 | void FUNC () { | 
 |     Foo *foo; | 
 |     foo.bar = 0; // expected-error {{assignment to readonly property}} | 
 | } | 
 |  | 
 | // rdar://8747333 | 
 | @class NSObject; | 
 |  | 
 | @interface rdar8747333  { | 
 | @private | 
 |     NSObject *_bar; | 
 |     NSObject *_baz; | 
 |     NSObject *_bam; | 
 | } | 
 | - (NSObject *)baz; | 
 | @end | 
 |  | 
 | @interface rdar8747333 () | 
 | - (NSObject *)bar; | 
 | @end | 
 |  | 
 | @interface rdar8747333 () | 
 | @property (readwrite, assign) NSObject *bar; | 
 | @property (readwrite, assign) NSObject *baz; | 
 | @property (readwrite, assign) NSObject *bam; | 
 | @property (readwrite, assign) NSObject *warn; | 
 | @end | 
 |  | 
 | @interface rdar8747333 () | 
 | - (NSObject *)bam; | 
 | - (NSObject *)warn; | 
 | - (void)setWarn : (NSObject *)val; | 
 | @end | 
 |  | 
 | @implementation rdar8747333 | 
 | @synthesize bar = _bar; | 
 | @synthesize baz = _baz; | 
 | @synthesize bam = _bam; | 
 | @dynamic warn; | 
 | @end | 
 |  |