diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2015-10-01 09:11:17 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2015-10-01 09:11:17 +0200 |
commit | a3550d13146147c3fd3965ecdf78e6b368fae282 (patch) | |
tree | e63bd35b63473a4bd90591ca31ace0433bf4e0df /tests/pragmas/tbitsize.nim | |
parent | 2d2f152e3c66af45d262e9ba72f69e67a829c66a (diff) | |
parent | 8c8646773024ea740c4c9f090619ddaf61bc16f0 (diff) | |
download | Nim-a3550d13146147c3fd3965ecdf78e6b368fae282.tar.gz |
Merge pull request #3384 from tmm1/bitsize-pragma
Implement bitsize pragma for bitfields
Diffstat (limited to 'tests/pragmas/tbitsize.nim')
-rw-r--r-- | tests/pragmas/tbitsize.nim | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/pragmas/tbitsize.nim b/tests/pragmas/tbitsize.nim new file mode 100644 index 000000000..7a44944d2 --- /dev/null +++ b/tests/pragmas/tbitsize.nim @@ -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 |