summary refs log tree commit diff stats
path: root/tests/vm/ttouintconv.nim
diff options
context:
space:
mode:
authorjangko <jangko128@gmail.com>2015-12-18 19:09:15 +0700
committerjangko <jangko128@gmail.com>2015-12-19 12:53:51 +0700
commit26d02c9120c54e0c1a92e08b9b571a89c9f1d4ff (patch)
treeaaa186d0a4a42f6737096c5f50568e8467dc03d2 /tests/vm/ttouintconv.nim
parenta3c8bb93760e258de406572f6181aa18fc88e7c3 (diff)
downloadNim-26d02c9120c54e0c1a92e08b9b571a89c9f1d4ff.tar.gz
fixed VM touint conversion #2514
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()