fixed VM touint conversion #2514
This commit is contained in:
parent
a3c8bb9376
commit
26d02c9120
2 changed files with 85 additions and 1 deletions
77
tests/vm/ttouintconv.nim
Normal file
77
tests/vm/ttouintconv.nim
Normal file
|
|
@ -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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue