1 // RUN: %clang_cc1 -emit-llvm %s -o /dev/null 2 extern "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 19 union ABCU { 20 ABCS color; 21 XYZ bg; 22 }; 23 24 struct AData { 25 ABCU data; 26 }; 27 28 class L { 29 public: 30 L() {} 31 L(const L& other); 32 33 private: 34 AData fdata; 35 }; 36 37 38 L::L(const L& other) 39 { 40 fdata = other.fdata; 41 } 42