2008-06-11 02:00:09 +08:00
|
|
|
// RUN: %llvmgcc -w -S %s -o - | llvm-as -f -o /dev/null
|
2004-11-07 06:41:00 +08:00
|
|
|
|
2003-09-19 13:22:10 +08:00
|
|
|
|
|
|
|
typedef struct BF {
|
|
|
|
int A : 1;
|
|
|
|
char B;
|
|
|
|
int C : 13;
|
|
|
|
} BF;
|
|
|
|
|
|
|
|
char *test1(BF *b) {
|
|
|
|
return &b->B; // Must be able to address non-bitfield
|
|
|
|
}
|
|
|
|
|
|
|
|
void test2(BF *b) { // Increment and decrement operators
|
|
|
|
b->A++;
|
|
|
|
--b->C;
|
|
|
|
}
|
|
|
|
|
|
|
|
void test3(BF *b) {
|
|
|
|
b->C = 12345; // Store
|
|
|
|
}
|
|
|
|
|
|
|
|
int test4(BF *b) {
|
|
|
|
return b->C; // Load
|
|
|
|
}
|
|
|
|
|
|
|
|
void test5(BF *b, int i) { // array ref
|
|
|
|
b[i].C = 12345;
|
|
|
|
}
|
|
|
|
|