1f4a2713aSLionel Sambuc// RUN: %clang_cc1 -fsyntax-only -verify %s 2f4a2713aSLionel Sambuc// radar 7509234 3f4a2713aSLionel Sambuc 4f4a2713aSLionel Sambuc@protocol Foo 5f4a2713aSLionel Sambuc@property (readonly, copy) id foos; 6f4a2713aSLionel Sambuc@end 7f4a2713aSLionel Sambuc 8f4a2713aSLionel Sambuc@interface Bar <Foo> { 9f4a2713aSLionel Sambuc} 10f4a2713aSLionel Sambuc 11f4a2713aSLionel Sambuc@end 12f4a2713aSLionel Sambuc 13f4a2713aSLionel Sambuc@interface Baz <Foo> { 14f4a2713aSLionel Sambuc} 15f4a2713aSLionel Sambuc@end 16f4a2713aSLionel Sambuc 17f4a2713aSLionel Sambuc@interface Bar () 18f4a2713aSLionel Sambuc@property (readwrite, copy) id foos; 19f4a2713aSLionel Sambuc@end 20f4a2713aSLionel Sambuc 21f4a2713aSLionel Sambuc@interface Baz () 22f4a2713aSLionel Sambuc@property (readwrite, copy) id foos; 23f4a2713aSLionel Sambuc@end 24f4a2713aSLionel Sambuc 25f4a2713aSLionel Sambuc 26f4a2713aSLionel Sambuc// rdar://10142679 27f4a2713aSLionel Sambuc@class NSString; 28f4a2713aSLionel Sambuc 29f4a2713aSLionel Sambuctypedef struct { 30f4a2713aSLionel Sambuc float width; 31f4a2713aSLionel Sambuc float length; 32f4a2713aSLionel Sambuc} NSRect; 33f4a2713aSLionel Sambuc 34f4a2713aSLionel Sambuc@interface MyClass { 35f4a2713aSLionel Sambuc} 36f4a2713aSLionel Sambuc@property (readonly) NSRect foo; // expected-note {{property declared here}} 37f4a2713aSLionel Sambuc@property (readonly, strong) NSString *bar; // expected-note {{property declared here}} 38f4a2713aSLionel Sambuc@end 39f4a2713aSLionel Sambuc 40f4a2713aSLionel Sambuc@interface MyClass () 41f4a2713aSLionel Sambuc@property (readwrite) NSString *foo; // expected-error {{type of property 'NSString *' in class extension does not match property type in primary class}} 42f4a2713aSLionel Sambuc@property (readwrite, strong) NSRect bar; // expected-error {{type of property 'NSRect' in class extension does not match property type in primary class}} 43f4a2713aSLionel Sambuc@end 44f4a2713aSLionel Sambuc 45f4a2713aSLionel Sambuc// rdar://10655530 46f4a2713aSLionel Sambucstruct S; 47f4a2713aSLionel Sambucstruct S1; 48f4a2713aSLionel Sambuc@interface STAdKitContext 49f4a2713aSLionel Sambuc@property (nonatomic, readonly, assign) struct evhttp_request *httpRequest; 50f4a2713aSLionel Sambuc@property (nonatomic, readonly, assign) struct S *httpRequest2; 51f4a2713aSLionel Sambuc@property (nonatomic, readonly, assign) struct S1 *httpRequest3; 52f4a2713aSLionel Sambuc@property (nonatomic, readonly, assign) struct S2 *httpRequest4; 53f4a2713aSLionel Sambuc@end 54f4a2713aSLionel Sambuc 55f4a2713aSLionel Sambucstruct evhttp_request; 56f4a2713aSLionel Sambucstruct S1; 57f4a2713aSLionel Sambuc 58f4a2713aSLionel Sambuc@interface STAdKitContext() 59f4a2713aSLionel Sambuc@property (nonatomic, readwrite, assign) struct evhttp_request *httpRequest; 60f4a2713aSLionel Sambuc@property (nonatomic, readwrite, assign) struct S *httpRequest2; 61f4a2713aSLionel Sambuc@property (nonatomic, readwrite, assign) struct S1 *httpRequest3; 62f4a2713aSLionel Sambuc@property (nonatomic, readwrite, assign) struct S2 *httpRequest4; 63f4a2713aSLionel Sambuc@end 64*0a6a1f1dSLionel Sambuc 65*0a6a1f1dSLionel Sambuc// rdar://15859862 66*0a6a1f1dSLionel Sambuc@protocol ADCameraJSO_Bindings 67*0a6a1f1dSLionel Sambuc@property (nonatomic, readonly) NSString *currentPictureURI; 68*0a6a1f1dSLionel Sambuc@end 69*0a6a1f1dSLionel Sambuc 70*0a6a1f1dSLionel Sambuc@interface ADCameraJSO 71*0a6a1f1dSLionel Sambuc@end 72*0a6a1f1dSLionel Sambuc 73*0a6a1f1dSLionel Sambuc@interface ADCameraJSO() <ADCameraJSO_Bindings> 74*0a6a1f1dSLionel Sambuc@property (nonatomic, copy) NSString *currentPictureURI; 75*0a6a1f1dSLionel Sambuc@end 76