Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjC / ivar-layout-nonfragile-abi2.m
blob858f409207c202b5d3dd34010e1c47fa9d9f1b52
1 // 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
4 @interface Super {
5   int ivar_super_a : 5;
7 @end
9 @interface A : Super {
10 @public
11   int ivar_a : 5;
13 @end
15 int f0(A *a) {
16   return a->ivar_a;
19 @interface A () {
20 @public
21   int ivar_ext_a : 5;
22   int ivar_ext_b : 5;
23 }@end
25 int f1(A *a) {
26   return a->ivar_ext_a + a->ivar_a;
29 @interface A () {
30 @public
31   int ivar_ext2_a : 5;
32   int ivar_ext2_b : 5;
33 }@end
35 int f2(A* a) {
36   return a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a;
39 @implementation A {
40 @public
41   int ivar_b : 5;
42   int ivar_c : 5;
43   int ivar_d : 5;
45 @end
47 int f3(A *a) {  
48   return a->ivar_d + a->ivar_ext2_a + a->ivar_ext_a + a->ivar_a;