diff options
author | Arne Döring <arne.doering@gmx.net> | 2019-02-12 22:00:31 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-02-13 23:30:14 +0100 |
commit | 28394153aba1e1ec0410406392e26e1e7e2e681e (patch) | |
tree | 0f2f455db7375b8e2c1e57b56a7f7d950d955bab /tests/vm | |
parent | 304b1dd34bc52df29528c2a12f769cb59904db5a (diff) | |
download | Nim-28394153aba1e1ec0410406392e26e1e7e2e681e.tar.gz |
32 bit fixes (#10608)
Diffstat (limited to 'tests/vm')
-rw-r--r-- | tests/vm/tvmops.nim | 5 | ||||
-rw-r--r-- | tests/vm/tzero_extend.nim | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/tests/vm/tvmops.nim b/tests/vm/tvmops.nim index c9caaf32b..6442c49d6 100644 --- a/tests/vm/tvmops.nim +++ b/tests/vm/tvmops.nim @@ -40,6 +40,11 @@ static: let a2 = arcsin 0.3 doAssert a1 == a2 + block bitxor: + let x = -1'i32 + let y = 1'i32 + doAssert (x xor y) == -2 + block: # Check against bugs like #9176 doAssert getCurrentCompilerExe() == forceConst(getCurrentCompilerExe()) diff --git a/tests/vm/tzero_extend.nim b/tests/vm/tzero_extend.nim index a79105531..76aa9ee67 100644 --- a/tests/vm/tzero_extend.nim +++ b/tests/vm/tzero_extend.nim @@ -13,14 +13,14 @@ proc get_values(): (seq[int8], seq[int16], seq[int32]) = result[0] = @[]; result[1] = @[]; result[2] = @[] for offset in RANGE: - let i8 = -(1 shl 9) + offset - let i16 = -(1 shl 17) + offset - let i32 = -(1 shl 33) + offset + let i8 = -(1'i64 shl 9) + offset + let i16 = -(1'i64 shl 17) + offset + let i32 = -(1'i64 shl 33) + offset # higher bits are masked. these should be exactly equal to offset. - result[0].add i8.toU8 - result[1].add i16.toU16 - result[2].add i32.toU32 + result[0].add cast[int8 ](uint8 cast[uint64](i8 )) + result[1].add cast[int16](uint16 cast[uint64](i16)) + result[2].add cast[int32](uint32 cast[uint64](i32)) # these values this computed by VM |