mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-15 16:09:02 +00:00
f2884785f3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20117 91177308-0d34-0410-b5e6-96231b3b80d8
33 lines
458 B
C++
33 lines
458 B
C++
// 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 :)
|
|
volatile union {
|
|
short S;
|
|
int i;
|
|
} U;
|
|
|
|
int test3(short s) {
|
|
U.S = s;
|
|
return U.i;
|
|
}
|