summary refs log tree commit diff stats
path: root/tests/vm/ttouintconv.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2015-12-21 00:37:48 +0100
committerAndreas Rumpf <rumpf_a@web.de>2015-12-21 00:37:48 +0100
commit17a78f4f8d9f8d3e4f3cd115111d116f03647966 (patch)
tree5e5c001365421762e7269454f9541cd85531f86d /tests/vm/ttouintconv.nim
parentca0715082c24a90d7292d3b95cfd70de966f4f62 (diff)
parent26d02c9120c54e0c1a92e08b9b571a89c9f1d4ff (diff)
downloadNim-17a78f4f8d9f8d3e4f3cd115111d116f03647966.tar.gz
Merge pull request #3654 from jangko/vm_uinttouint64conv
fixed #2514 unable to echo uint8-32 at compile time
Diffstat (limited to 'tests/vm/ttouintconv.nim')
-rw-r--r--tests/vm/ttouintconv.nim77
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()