24 lines · plain
1// RUN: %clang_cc1 -fsyntax-only -verify %s2 3@interface Foo 4@property (readonly) char foo; 5@property (readwrite) char bar; // expected-note {{property declared here}}6@end7 8@interface Foo ()9@property (readwrite) char foo; // expected-note 2 {{property declared here}} 10@property (readwrite) char NewProperty; // expected-note 2 {{property declared here}} 11@property (readwrite) char bar; // expected-error{{illegal redeclaration of 'readwrite' property in class extension 'Foo' (perhaps you intended this to be a 'readwrite' redeclaration of a 'readonly' public property?)}}12@end13 14@interface Foo ()15@property (readwrite) char foo; // expected-error {{property has a previous declaration}}16@property (readwrite) char NewProperty; // expected-error {{property has a previous declaration}}17@end18 19@interface Foo ()20@property (readonly) char foo; // expected-error {{property has a previous declaration}}21@property (readwrite) char NewProperty; // expected-error {{property has a previous declaration}}22@end23 24