1// RUN: %clang_cc1 -emit-llvm %s -o /dev/null
2extern "C" {
3
4#pragma pack(push, 2)
5  typedef struct ABC* abc;
6
7  struct ABCS {
8    float red;
9    float green;
10    float blue;
11    float alpha;
12  };
13
14  typedef void (*XYZ)();
15#pragma pack(pop)
16}
17
18
19union ABCU {
20  ABCS color;
21  XYZ bg;
22};
23
24struct AData {
25  ABCU data;
26};
27
28class L {
29 public:
30  L() {}
31  L(const L& other);
32
33 private:
34  AData fdata;
35};
36
37
38L::L(const L& other)
39{
40  fdata = other.fdata;
41}
42