38 lines
		
	
	
		
			654 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			654 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| 
 | |
| @interface Object
 | |
| + (id) new;
 | |
| @end
 | |
| 
 | |
| @protocol GCObject
 | |
| @property int class;
 | |
| @end
 | |
| 
 | |
| @protocol DerivedGCObject <GCObject>
 | |
| @property int Dclass;
 | |
| @end
 | |
| 
 | |
| @interface GCObject  : Object <DerivedGCObject> {
 | |
|     int ifield;
 | |
|     int iOwnClass;
 | |
|     int iDclass;
 | |
| }
 | |
| @property int OwnClass;
 | |
| @end
 | |
| 
 | |
| @implementation GCObject : Object
 | |
| @synthesize class=ifield;
 | |
| @synthesize Dclass=iDclass;
 | |
| @synthesize OwnClass=iOwnClass;
 | |
| @end
 | |
| 
 | |
| int main(int argc, char **argv) {
 | |
|     GCObject *f = [GCObject new];
 | |
|     f.class = 5;
 | |
|     f.Dclass = 1;
 | |
|     f.OwnClass = 3;
 | |
|     return f.class + f.Dclass  + f.OwnClass - 9;
 | |
| }
 |