Merge pull request #3384 from tmm1/bitsize-pragma

Implement bitsize pragma for bitfields
This commit is contained in:
Andreas Rumpf
2015-10-01 09:11:17 +02:00
7 changed files with 53 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
discard """
ccodeCheck: "\\i @'unsigned int flag:1;' .*"
"""
type
bits* = object
flag* {.bitsize: 1.}: cuint
opts* {.bitsize: 4.}: cint
var
b: bits
assert b.flag == 0
b.flag = 1
assert b.flag == 1
b.flag = 2
assert b.flag == 0
b.opts = 7
assert b.opts == 7
b.opts = 9
assert b.opts == -7