blob: ca5c095047fa4c2b76c52b02e9c634f8108a3091 [file] [log] [blame]
Fariborz Jahanianac371502012-02-23 18:21:25 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin -fobjc-default-synthesize-properties -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
9@required
10@property int auto_req_window;
11@property int no_auto_req_window; // expected-note {{property declared here}}
12@end
13
14@interface I<P>
15@property int auto_opt_window;
16@property int auto_req_window;
17@end
18
19@implementation I // expected-warning {{auto property synthesis will not synthesize property declared in a protocol}}
20@end
21
Fariborz Jahaniand8316db2012-02-23 18:57:03 +000022// CHECK: define internal i32 @"\01-[I auto_req_window]"(
23// CHECK: define internal void @"\01-[I setAuto_req_window:]"(
Fariborz Jahanian00ff5a92012-02-23 20:07:38 +000024// CHECK: define internal i32 @"\01-[I auto_opt_window]"(
25// CHECK: define internal void @"\01-[I setAuto_opt_window:]"(
Fariborz Jahanianac371502012-02-23 18:21:25 +000026
27// CHECK-NOT: define internal i32 @"\01-[I no_auto_opt_window]"(
28// CHECK-NOT: define internal void @"\01-[I setNo_auto_opt_window:]"(
29// CHECK-NOT: define internal i32 @"\01-[I no_auto_req_window]"(
30// CHECK-NOT: define internal void @"\01-[I setNo_auto_req_window:]"(