aboutsummaryrefslogtreecommitdiff
path: root/test/2.cff
blob: 9069d2473bd894627224dfce36d564b8f217d355 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import "libc.hff";

bitfield Foo : uint {
   tag 3,
   flag (3, 1) bool,
   num 10 signed,
}

extern fn main() int {
   let foo Foo = {};
   printf("0x%X: %d, %d, %d\n", foo.#raw, foo.tag, foo.flag, foo.num);
   foo.tag = 3;
   printf("%d\n", foo.#raw += 1);
   --foo.tag;
   foo.flag = #t;
   foo.num = -2;
   foo.num *= 10;
   printf("0x%X: %d, %d, %d\n", foo.#raw, foo.tag, foo.flag, foo.num);
}