mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-01 17:41:17 +00:00
Merge pull request #3384 from tmm1/bitsize-pragma
Implement bitsize pragma for bitfields
This commit is contained in:
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
|
||||
Reference in New Issue
Block a user