1*67e74705SXin Li// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o %t %s 2*67e74705SXin Li// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -emit-llvm -o %t %s 3*67e74705SXin Li// rdar: // 7824380 4*67e74705SXin Li 5*67e74705SXin Li@interface Super { 6*67e74705SXin Li int ivar_super_a : 5; 7*67e74705SXin Li} 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Li@interface A : Super { 11*67e74705SXin Li@public 12*67e74705SXin Li int ivar_a : 5; 13*67e74705SXin Li} 14*67e74705SXin Li@end 15*67e74705SXin Li 16*67e74705SXin Liint f0(A *a) { 17*67e74705SXin Li return a->ivar_a; 18*67e74705SXin Li} 19*67e74705SXin Li 20*67e74705SXin Li@interface A () { 21*67e74705SXin Li@public 22*67e74705SXin Li int ivar_ext_a : 5; 23*67e74705SXin Li int ivar_ext_b : 5; 24*67e74705SXin Li}@end 25*67e74705SXin Li 26*67e74705SXin Liint f1(A *a) { 27*67e74705SXin Li return a->ivar_ext_a + a->ivar_a; 28*67e74705SXin Li} 29*67e74705SXin Li 30*67e74705SXin Li@interface A () { 31*67e74705SXin Li@public 32*67e74705SXin Li int ivar_ext2_a : 5; 33*67e74705SXin Li int ivar_ext2_b : 5; 34*67e74705SXin Li}@end 35*67e74705SXin Li 36*67e74705SXin Liint f2(A* a) { 37*67e74705SXin Li return a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a; 38*67e74705SXin Li} 39*67e74705SXin Li 40*67e74705SXin Li@implementation A { 41*67e74705SXin Li@public 42*67e74705SXin Li int ivar_b : 5; 43*67e74705SXin Li int ivar_c : 5; 44*67e74705SXin Li int ivar_d : 5; 45*67e74705SXin Li} 46*67e74705SXin Li@end 47*67e74705SXin Li 48*67e74705SXin Liint f3(A *a) { 49*67e74705SXin Li return a->ivar_d + a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a; 50*67e74705SXin Li} 51*67e74705SXin Li 52