1 | // RUN: %clang_cc1 %s -emit-llvm -o - |
---|---|
2 | |
3 | // Test anonymous union with members of the same size. |
4 | int test1(float F) { |
5 | union { |
6 | float G; |
7 | int i; |
8 | }; |
9 | G = F; |
10 | return i; |
11 | } |
12 | |
13 | // test anonymous union with members of differing size. |
14 | int test2(short F) { |
15 | volatile union { |
16 | short G; |
17 | int i; |
18 | }; |
19 | G = F; |
20 | return i; |
21 | } |
22 | |
23 | // Make sure that normal unions work. duh :) |
24 | volatile union U_t { |
25 | short S; |
26 | int i; |
27 | } U; |
28 | |
29 | int test3(short s) { |
30 | U.S = s; |
31 | return U.i; |
32 | } |
33 |