1 /* Test errors for accessing @private and @protected variables. */
2 /* Based on work by: Nicola Pero <nicola@brainstorm.co.uk>. */
3 /* { dg-do compile } */
4 // { dg-additional-options "-Wno-objc-root-class" }
7 @interface MySuperClass
21 @implementation MySuperClass
24 _private = 12; /* Ok */
25 _protected = 12; /* Ok */
26 _public = 12; /* Ok */
31 @interface MyClass : MySuperClass
34 @implementation MyClass
37 /* Private variables simply don't exist in the subclass. */
38 _private = 12; /* { dg-error "instance variable \\'_private\\' is declared private" } */
40 _protected = 12; /* Ok */
41 _public = 12; /* Ok */
53 access = m->_private; /* { dg-warning "is @private" } */
54 access = m->_protected; /* { dg-warning "is @protected" } */
55 access = m->_public; /* Ok */