// RUN: clang -fsyntax-only -verify %s @interface I0 @property(readonly) int x; @property(readonly) int y; @property(readonly) int z; -(void) setY: (int) y0; @end @interface I0 (Cat0) -(void) setX: (int) a0; @end @implementation I0 @dynamic x; @dynamic y; @dynamic z; -(void) setY: (int) y0{} -(void) im0 { self.x = 0; self.y = 2; self.z = 2; // expected-error {{assigning to property with 'readonly' attribute not allowed}} } @end