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