52 lines
		
	
	
		
			778 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			778 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o %t %s
 | |
| // RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -emit-llvm -o %t %s
 | |
| // rdar: // 7824380
 | |
| 
 | |
| @interface Super {
 | |
|   int ivar_super_a : 5;
 | |
| }
 | |
| @end
 | |
| 
 | |
| @interface A : Super {
 | |
| @public
 | |
|   int ivar_a : 5;
 | |
| }
 | |
| @end
 | |
| 
 | |
| int f0(A *a) {
 | |
|   return a->ivar_a;
 | |
| }
 | |
| 
 | |
| @interface A () {
 | |
| @public
 | |
|   int ivar_ext_a : 5;
 | |
|   int ivar_ext_b : 5;
 | |
| }@end
 | |
| 
 | |
| int f1(A *a) {
 | |
|   return a->ivar_ext_a + a->ivar_a;
 | |
| }
 | |
| 
 | |
| @interface A () {
 | |
| @public
 | |
|   int ivar_ext2_a : 5;
 | |
|   int ivar_ext2_b : 5;
 | |
| }@end
 | |
| 
 | |
| int f2(A* a) {
 | |
|   return a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a;
 | |
| }
 | |
| 
 | |
| @implementation A {
 | |
| @public
 | |
|   int ivar_b : 5;
 | |
|   int ivar_c : 5;
 | |
|   int ivar_d : 5;
 | |
| }
 | |
| @end
 | |
| 
 | |
| int f3(A *a) {  
 | |
|   return a->ivar_d + a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a;
 | |
| }
 | |
| 
 |