// RUN: %llvmgxx -S %s -o /dev/null extern "C" { #pragma pack(push, 2) typedef struct ABC* abc; struct ABCS { float red; float green; float blue; float alpha; }; typedef void (*XYZ)(); #pragma pack(pop) } union ABCU { ABCS color; XYZ bg; }; struct AData { ABCU data; }; class L { public: L() {} L(const L& other); private: AData fdata; }; L::L(const L& other) { fdata = other.fdata; }