|  | // 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; | 
|  | } | 
|  |  |