diff options
author | Araq <rumpf_a@web.de> | 2015-03-01 21:41:21 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-03-01 21:41:21 +0100 |
commit | 24ae0c387f4f95f5e61279dc3c78c117ca939eca (patch) | |
tree | 5c0bd2f0fb845c541224b3c49550cf58f8a056fd /tests/ccgbugs | |
parent | 566ee874cde6defb128cdf9df124c45146187129 (diff) | |
download | Nim-24ae0c387f4f95f5e61279dc3c78c117ca939eca.tar.gz |
some love for the testsuite; fixed regressions
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r-- | tests/ccgbugs/tmissingderef.nim | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ccgbugs/tmissingderef.nim b/tests/ccgbugs/tmissingderef.nim new file mode 100644 index 000000000..edff1dd4e --- /dev/null +++ b/tests/ccgbugs/tmissingderef.nim @@ -0,0 +1,30 @@ +discard """ + output: '''255 +1 1 +0.5''' +""" + +# bug #1181 + +type + TFoo = object + x: int32 + +proc mainowar = + var foo: TFoo + foo.x = 0xff + var arr1 = cast[ptr array[4, uint8]](addr foo)[] # Fails. + echo arr1[when cpuEndian == littleEndian: 0 else: 3] + + var i = 1i32 + let x = addr i + var arr2 = cast[ptr array[4, uint8]](x)[] # Fails. + echo arr2[when cpuEndian == littleEndian: 0 else: 3], " ", i + + # bug #1715 + var a: array[2, float32] = [0.5'f32, 0.7] + let p = addr a + var b = p[] + echo b[0] + +mainowar() |