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