1 | // RUN: %clang_cc1 -w -emit-llvm %s -o /dev/null |
---|---|
2 | |
3 | |
4 | typedef struct BF { |
5 | int A : 1; |
6 | char B; |
7 | int C : 13; |
8 | } BF; |
9 | |
10 | char *test1(BF *b) { |
11 | return &b->B; // Must be able to address non-bitfield |
12 | } |
13 | |
14 | void test2(BF *b) { // Increment and decrement operators |
15 | b->A++; |
16 | --b->C; |
17 | } |
18 | |
19 | void test3(BF *b) { |
20 | b->C = 12345; // Store |
21 | } |
22 | |
23 | int test4(BF *b) { |
24 | return b->C; // Load |
25 | } |
26 | |
27 | void test5(BF *b, int i) { // array ref |
28 | b[i].C = 12345; |
29 | } |
30 | |
31 |