etc/services - sync with NetBSD-8
[minix.git] / external / bsd / llvm / dist / clang / test / FixIt / auto-isa-fixit.m
blob3f22c1838ac09bf0912a8c0d3a9210d87a82b7d7
1 // RUN: cp %s %t
2 // RUN: %clang_cc1 -x objective-c -fixit %t
3 // RUN: %clang_cc1 -x objective-c -Werror %t
4 // rdar://13503456
6 void object_setClass(id, id);
7 Class object_getClass(id);
9 id rhs();
11 Class pr6302(id x123) {
12   x123->isa  = 0;
13   x123->isa = rhs();
14   x123->isa = (id)(x123->isa);
15   x123->isa = (id)x123->isa;
16   x123->isa = (x123->isa);
17   x123->isa = (id)(x123->isa);
18   return x123->isa;
22 @interface BaseClass {
23 @public
24     Class isa; // expected-note 3 {{instance variable is declared here}}
26 @end
28 @interface OtherClass {
29 @public
30     id    firstIvar;
31     Class isa; // note, not first ivar;
33 @end
35 @interface Subclass : BaseClass @end
37 @interface SiblingClass : BaseClass @end
39 @interface Root @end
41 @interface hasIsa : Root {
42 @public
43   Class isa; // note, isa is not in root class
45 @end
47 @implementation Subclass
48 -(void)method {
49     hasIsa *u;
50     id v;
51     BaseClass *w;
52     Subclass *x;
53     SiblingClass *y;
54     OtherClass *z;
55     (void)v->isa; 
56     (void)w->isa;
57     (void)x->isa;
58     (void)y->isa;
59     (void)z->isa;
60     (void)u->isa;
61     y->isa = 0;
62     y->isa = w->isa;
63     x->isa = rhs();
65 @end