1 // RUN: %clang_cc1 %s -emit-llvm -o -
2
3 // Test anonymous union with members of the same size.
test1(float F)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.
test2(short F)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
test3(short s)29 int test3(short s) {
30 U.S = s;
31 return U.i;
32 }
33