2005-02-12 03:26:06 +08:00
|
|
|
// RUN: %llvmgxx %s -S -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 :)
|
2008-06-10 22:37:44 +08:00
|
|
|
volatile union U_t {
|
2005-02-12 03:26:06 +08:00
|
|
|
short S;
|
|
|
|
int i;
|
|
|
|
} U;
|
|
|
|
|
|
|
|
int test3(short s) {
|
|
|
|
U.S = s;
|
|
|
|
return U.i;
|
|
|
|
}
|