Remove a fixme which was fixed in a previous commit.
[clang.git] / test / SemaObjC / ivar-in-class-extension.m
blob4130d8f962527ae1cfdbdaa7a28cc9a95b3a57c5
1 // RUN: %clang_cc1 -fsyntax-only -fobjc-nonfragile-abi2 -verify %s
3 @interface SomeClass  @end
5 int fn1(SomeClass *obj) {
6         obj->privateIvar = 1; // expected-error {{'SomeClass' does not have a member named 'privateIvar}}
7         return obj->publicIvar;     // expected-error {{'SomeClass' does not have a member named 'publicIvar'}}
10 @interface SomeClass () {
11 // @private by default
12         int privateIvar;
13 @public
14         int publicIvar;
16 @end
18 int fn2(SomeClass *obj) {
19         obj->publicIvar = 1;
20         return obj->publicIvar    // ok
21              + obj->privateIvar;  // expected-error {{instance variable 'privateIvar' is private}}
24 @implementation SomeClass
26 int fn3(SomeClass *obj) {
27         obj->privateIvar = 2;
28         return obj->publicIvar    // ok
29              + obj->privateIvar;  // ok
30     }
31 @end
33 @interface SomeClass (Category)
34     {   
35         int categoryIvar; // expected-error {{ivars may not be placed in categories}}
36     }
37 @end
39 @interface SomeClass (Category1)
40     {   
41     }
42 @end