1// RUN: %clang_cc1 -emit-llvm -o %t %s
2
3@interface Object
4- (id)new;
5@end
6
7@interface ReadOnly : Object
8{
9  int _object;
10  int _Anotherobject;
11}
12@property(readonly) int object;
13@property(readonly) int Anotherobject;
14@end
15
16@interface ReadOnly ()
17@property(readwrite) int object;
18@property(readwrite, setter = myAnotherobjectSetter:) int Anotherobject;
19@end
20
21@implementation ReadOnly
22@synthesize object = _object;
23@synthesize  Anotherobject = _Anotherobject;
24- (void) myAnotherobjectSetter : (int)val {
25    _Anotherobject = val;
26}
27@end
28
29int main(int argc, char **argv) {
30    ReadOnly *test = [ReadOnly new];
31    test.object = 12345;
32    test.Anotherobject = 200;
33    return test.object - 12345 + test.Anotherobject - 200;
34}
35
36