| // RUN: %clang_cc1 -emit-llvm -o %t %s | |
| @interface Object | |
| - (id)new; | |
| @end | |
| @interface ReadOnly : Object | |
| { | |
| int _object; | |
| int _Anotherobject; | |
| } | |
| @property(readonly) int object; | |
| @property(readonly) int Anotherobject; | |
| @end | |
| @interface ReadOnly () | |
| @property(readwrite) int object; | |
| @property(readwrite, setter = myAnotherobjectSetter:) int Anotherobject; | |
| @end | |
| @implementation ReadOnly | |
| @synthesize object = _object; | |
| @synthesize Anotherobject = _Anotherobject; | |
| - (void) myAnotherobjectSetter : (int)val { | |
| _Anotherobject = val; | |
| } | |
| @end | |
| int main(int argc, char **argv) { | |
| ReadOnly *test = [ReadOnly new]; | |
| test.object = 12345; | |
| test.Anotherobject = 200; | |
| return test.object - 12345 + test.Anotherobject - 200; | |
| } | |