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