]> granicus.if.org Git - clang/blob - test/CodeGen/bitfield.c
pull .ll and .bc writing out of the ASTConsumer destructors into some top
[clang] / test / CodeGen / bitfield.c
1 // RUN: clang %s -emit-llvm -o - > %t1
2 // RUN: grep "shl i32 %tmp, 19" %t1 &&
3 // RUN: grep "ashr i32 %tmp1, 19" %t1 &&
4 // RUN: grep "shl i16 %tmp4, 1" %t1 &&
5 // RUN: grep "lshr i16 %tmp5, 9" %t1
6 // RUN: grep "and i32 %tmp, -8192" %t1
7 // RUN: grep "and i16 %tmp5, -32513" %t1
8 // Test bitfield access
9
10
11 struct STestB1 { int a:13; char b; unsigned short c:7;} stb1;
12
13 int f() {
14   return stb1.a + stb1.b + stb1.c;
15 }
16
17 void g() {
18   stb1.a = -40;
19   stb1.b = 10;
20   stb1.c = 15;
21 }