1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 4 @interface Object 5 + (id) new; 6 @end 7 8 @protocol GCObject 9 @property int class; 10 @end 11 12 @protocol DerivedGCObject <GCObject> 13 @property int Dclass; 14 @end 15 16 @interface GCObject : Object <DerivedGCObject> { 17 int ifield; 18 int iOwnClass; 19 int iDclass; 20 } 21 @property int OwnClass; 22 @end 23 24 @implementation GCObject : Object 25 @synthesize class=ifield; 26 @synthesize Dclass=iDclass; 27 @synthesize OwnClass=iOwnClass; 28 @end 29 30 int main(int argc, char **argv) { 31 GCObject *f = [GCObject new]; 32 f.class = 5; 33 f.Dclass = 1; 34 f.OwnClass = 3; 35 return f.class + f.Dclass + f.OwnClass - 9; 36 } 37