Fixes for ptr array deref codegen (#11191)

* fixes for ptr array derefence codegen
* fix comments, make diff nicer
This commit is contained in:
Jasper Jenkins
2019-05-06 23:14:38 -07:00
committed by Andreas Rumpf
parent 7804b5c558
commit a6ba3116b2
4 changed files with 36 additions and 40 deletions

View File

@@ -1,5 +1,8 @@
discard """
output: "OK"
output: '''[1, 2, 3, 4]
3
OK
'''
"""
var
@@ -50,4 +53,17 @@ let aa = getFilledBuffer(3)
for i in 0..aa[].len-1:
doAssert(aa[i] == chr(i))
var
x = [1, 2, 3, 4]
y1 = block: (
a: (block:
echo x
cast[ptr array[2, int]](addr(x[0]))[]),
b: 3)
y2 = block:
echo y1.a[0] + y1.a[1]
cast[ptr array[4, int]](addr(x))[]
doAssert y1 == ([1, 2], 3)
doAssert y2 == [1, 2, 3, 4]
echo "OK"