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