Merge pull request #3384 from tmm1/bitsize-pragma
Implement bitsize pragma for bitfields
This commit is contained in:
commit
a3550d1314
7 changed files with 53 additions and 1 deletions
22
tests/pragmas/tbitsize.nim
Normal file
22
tests/pragmas/tbitsize.nim
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue