Eric Christopher | 335552e | 2011-08-19 23:08:33 +0000 | [diff] [blame] | 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 | } |