1*67e74705SXin Li// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm %s -o - | FileCheck %s 2*67e74705SXin Li// rdar://10907410 3*67e74705SXin Li 4*67e74705SXin Li@protocol P 5*67e74705SXin Li@optional 6*67e74705SXin Li@property int auto_opt_window; 7*67e74705SXin Li@property int no_auto_opt_window; 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Li@interface I<P> 11*67e74705SXin Li@property int auto_opt_window; 12*67e74705SXin Li@end 13*67e74705SXin Li 14*67e74705SXin Li@implementation I 15*67e74705SXin Li@end 16*67e74705SXin Li 17*67e74705SXin Li@protocol P1 18*67e74705SXin Li@property int auto_req_window; 19*67e74705SXin Li@property int no_auto_req_window; // expected-note {{property declared here}} 20*67e74705SXin Li@end 21*67e74705SXin Li 22*67e74705SXin Li@interface I1<P1> 23*67e74705SXin Li@property int auto_req_window; 24*67e74705SXin Li@end 25*67e74705SXin Li 26*67e74705SXin Li@implementation I1 // expected-warning {{auto property synthesis will not synthesize property declared in a protocol}} 27*67e74705SXin Li@end 28*67e74705SXin Li 29*67e74705SXin Li// CHECK: define internal i32 @"\01-[I auto_opt_window]"( 30*67e74705SXin Li// CHECK: define internal void @"\01-[I setAuto_opt_window:]"( 31*67e74705SXin Li// CHECK: define internal i32 @"\01-[I1 auto_req_window]"( 32*67e74705SXin Li// CHECK: define internal void @"\01-[I1 setAuto_req_window:]"( 33*67e74705SXin Li 34*67e74705SXin Li// CHECK-NOT: define internal i32 @"\01-[I1 no_auto_opt_window]"( 35*67e74705SXin Li// CHECK-NOT: define internal void @"\01-[I1 setNo_auto_opt_window:]"( 36*67e74705SXin Li// CHECK-NOT: define internal i32 @"\01-[I no_auto_req_window]"( 37*67e74705SXin Li// CHECK-NOT: define internal void @"\01-[I setNo_auto_req_window:]"( 38