mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-14 15:28:20 +00:00
a bitfield stress test to exercise various parts of the front-end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8602 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
28
test/CFrontend/2003-09-18-BitfieldTests.c
Normal file
28
test/CFrontend/2003-09-18-BitfieldTests.c
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user