summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/2003-09-18-BitfieldTests.c
blob: 6807f5a1fa4d561b8043aec08d2275366ded2fff (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// RUN: %clang_cc1 -w -emit-llvm %s  -o /dev/null


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;
}