blob: b34fcd9756f1fbe8d954cad576512e56b0659ee2 [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
Fariborz Jahanianc78446e2012-02-23 20:22:21 +00003// XFAIL: *
Fariborz Jahanianac371502012-02-23 18:21:25 +00004
5@protocol P
6@optional
7@property int auto_opt_window;
8@property int no_auto_opt_window;
9
10@required
11@property int auto_req_window;
12@property int no_auto_req_window; // expected-note {{property declared here}}
13@end
14
15@interface I<P>
16@property int auto_opt_window;
17@property int auto_req_window;
18@end
19
20@implementation I // expected-warning {{auto property synthesis will not synthesize property declared in a protocol}}
21@end
22
Fariborz Jahaniand8316db2012-02-23 18:57:03 +000023// CHECK: define internal i32 @"\01-[I auto_req_window]"(
24// CHECK: define internal void @"\01-[I setAuto_req_window:]"(
Fariborz Jahanian00ff5a92012-02-23 20:07:38 +000025// CHECK: define internal i32 @"\01-[I auto_opt_window]"(
26// CHECK: define internal void @"\01-[I setAuto_opt_window:]"(
Fariborz Jahanianac371502012-02-23 18:21:25 +000027
28// CHECK-NOT: define internal i32 @"\01-[I no_auto_opt_window]"(
29// CHECK-NOT: define internal void @"\01-[I setNo_auto_opt_window:]"(
30// CHECK-NOT: define internal i32 @"\01-[I no_auto_req_window]"(
31// CHECK-NOT: define internal void @"\01-[I setNo_auto_req_window:]"(