diff options
author | jangko <jangko128@gmail.com> | 2015-12-18 19:09:15 +0700 |
---|---|---|
committer | jangko <jangko128@gmail.com> | 2015-12-19 12:53:51 +0700 |
commit | 26d02c9120c54e0c1a92e08b9b571a89c9f1d4ff (patch) | |
tree | aaa186d0a4a42f6737096c5f50568e8467dc03d2 /tests/vm/ttouintconv.nim | |
parent | a3c8bb93760e258de406572f6181aa18fc88e7c3 (diff) | |
download | Nim-26d02c9120c54e0c1a92e08b9b571a89c9f1d4ff.tar.gz |
fixed VM touint conversion #2514
Diffstat (limited to 'tests/vm/ttouintconv.nim')
-rw-r--r-- | tests/vm/ttouintconv.nim | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/vm/ttouintconv.nim b/tests/vm/ttouintconv.nim new file mode 100644 index 000000000..cd25ffb00 --- /dev/null +++ b/tests/vm/ttouintconv.nim @@ -0,0 +1,77 @@ +import macros + +discard """ +msg: ''' +8 9 17 +239 255 +61439 65534 65535 +4026531839 4294967294 +17293822569102704639 +18446744073709551614 +18446744073709551615 +127 +32767 +2147483647 +9223372036854775807 +0 +128 +4294967287''' +""" + +#bug #2514 + +macro foo(): stmt = + var x = 8'u8 + var y = 9'u16 + var z = 17'u32 + + echo x," ", y," ", z + + var a = 0xEF'u8 + var aa = 0xFF'u8 + echo a, " ", aa + + var b = 0xEFFF'u16 + var bb = 0xFFFE'u16 + var bbb = 0xFFFF'u16 + echo b, " ", bb, " ", bbb + + var c = 0xEFFFFFFF'u32 + var cc = 0xFFFFFFFE'u32 + echo c, " ", cc + + var d = 0xEFFFFFFFFFFFFFFF'u64 + echo d + + var f = 0xFFFFFFFFFFFFFFFE'u64 + echo f + + var g = 0xFFFFFFFFFFFFFFFF'u64 + echo g + + var xx = 0x7F'u8 and 0xFF + echo xx + + var yy = 0x7FFF'u16 + echo yy + + var zz = 0x7FFFFFFF'u32 + echo zz + +macro foo2(): stmt = + var xx = 0x7FFFFFFFFFFFFFFF + echo xx + + var yy = 0 + echo yy + + var zz = 0x80'u8 + echo zz + + var ww = -9 + var vv = ww.uint + var kk = vv.uint32 + echo kk + +foo() +foo2() |