1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import "libc.hff";
bitfield Foo : u16 {
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 += 532);
let long = "abcd" "defg";
static const foop Foo = {7,#t,3, .tag: 9};
printf("0x%X: %d, %d, %d\n", foop.#raw, foop.tag, foop.flag, foop.num);
}
|