/* APPLE LOCAL file radar 4660579 */ /* Test that property can be declared 'readonly' in interface but it can be overridden in the implementation and can be assigned to. */ /* APPLE LOCAL radar 4899595 */ /* { dg-options "-fno-objc-new-property -mmacosx-version-min=10.5 -lobjc" { target powerpc*-*-darwin* i?86*-*-darwin* } } */ /* { dg-options "-fno-objc-new-property -lobjc" { target arm*-*-darwin* } } */ /* { dg-do run { target *-*-darwin* } } */ #include <objc/objc.h> /* APPLE LOCAL radar 4894756 */ #include "../objc/execute/Object2.h" @interface ReadOnly : Object @property(readonly, ivar) int object; @property(readonly, ivar) int Anotherobject; @end @implementation ReadOnly @property(ivar) int object; @property(ivar, setter = myAnotherobjectSetter:) int 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; }