xref: /aosp_15_r20/external/clang/test/CodeGen/2009-06-18-StaticInitTailPadPack.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-llvm -o -
2*67e74705SXin Li // rdar://6983634
3*67e74705SXin Li 
4*67e74705SXin Li   typedef struct A *Foo;
5*67e74705SXin Li #pragma pack(push, 2)
6*67e74705SXin Li   struct Bar {
7*67e74705SXin Li     Foo             f1;
8*67e74705SXin Li     unsigned short  f2;
9*67e74705SXin Li     float           f3;
10*67e74705SXin Li   };
11*67e74705SXin Li   struct Baz {
12*67e74705SXin Li     struct Bar   f1;
13*67e74705SXin Li     struct Bar   f2;
14*67e74705SXin Li   };
15*67e74705SXin Li   struct Qux {
16*67e74705SXin Li     unsigned long   f1;
17*67e74705SXin Li     struct Baz             f2;
18*67e74705SXin Li   };
19*67e74705SXin Li extern const struct Qux Bork;
20*67e74705SXin Li const struct Qux Bork = {
21*67e74705SXin Li   0,
22*67e74705SXin Li   {
23*67e74705SXin Li     {0},
24*67e74705SXin Li     {0}
25*67e74705SXin Li   }
26*67e74705SXin Li };
27