33 lines
472 B
C++
33 lines
472 B
C++
// RUN: %clang_cc1 %s -emit-llvm -o -
|
|
|
|
// Test anonymous union with members of the same size.
|
|
int test1(float F) {
|
|
union {
|
|
float G;
|
|
int i;
|
|
};
|
|
G = F;
|
|
return i;
|
|
}
|
|
|
|
// test anonymous union with members of differing size.
|
|
int test2(short F) {
|
|
volatile union {
|
|
short G;
|
|
int i;
|
|
};
|
|
G = F;
|
|
return i;
|
|
}
|
|
|
|
// Make sure that normal unions work. duh :)
|
|
volatile union U_t {
|
|
short S;
|
|
int i;
|
|
} U;
|
|
|
|
int test3(short s) {
|
|
U.S = s;
|
|
return U.i;
|
|
}
|