fixes #7153
This commit is contained in:
parent
7b2b0ebf7f
commit
5c5e54d3a9
2 changed files with 21 additions and 1 deletions
|
|
@ -288,7 +288,9 @@ proc semArray(c: PContext, n: PNode, prev: PType): PType =
|
||||||
var indxB = indx
|
var indxB = indx
|
||||||
if indxB.kind in {tyGenericInst, tyAlias, tySink}: indxB = lastSon(indxB)
|
if indxB.kind in {tyGenericInst, tyAlias, tySink}: indxB = lastSon(indxB)
|
||||||
if indxB.kind notin {tyGenericParam, tyStatic, tyFromExpr}:
|
if indxB.kind notin {tyGenericParam, tyStatic, tyFromExpr}:
|
||||||
if not isOrdinalType(indxB):
|
if indxB.skipTypes({tyRange}).kind in {tyUInt, tyUInt64}:
|
||||||
|
discard
|
||||||
|
elif not isOrdinalType(indxB):
|
||||||
localError(n.sons[1].info, errOrdinalTypeExpected)
|
localError(n.sons[1].info, errOrdinalTypeExpected)
|
||||||
elif enumHasHoles(indxB):
|
elif enumHasHoles(indxB):
|
||||||
localError(n.sons[1].info, errEnumXHasHoles,
|
localError(n.sons[1].info, errEnumXHasHoles,
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
discard """
|
||||||
|
output: '''0
|
||||||
|
0'''
|
||||||
|
"""
|
||||||
|
|
||||||
# test another strange bug ... (I hate this compiler; it is much too buggy!)
|
# test another strange bug ... (I hate this compiler; it is much too buggy!)
|
||||||
|
|
||||||
proc putEnv(key, val: string) =
|
proc putEnv(key, val: string) =
|
||||||
|
|
@ -11,3 +16,16 @@ proc putEnv(key, val: string) =
|
||||||
env[len(key)] = '='
|
env[len(key)] = '='
|
||||||
for i in 0..len(val)-1:
|
for i in 0..len(val)-1:
|
||||||
env[len(key)+1+i] = val[i]
|
env[len(key)+1+i] = val[i]
|
||||||
|
|
||||||
|
# bug #7153
|
||||||
|
const
|
||||||
|
UnsignedConst = 1024'u
|
||||||
|
type
|
||||||
|
SomeObject* = object
|
||||||
|
s1: array[UnsignedConst, uint32]
|
||||||
|
|
||||||
|
var
|
||||||
|
obj: SomeObject
|
||||||
|
|
||||||
|
echo obj.s1[0]
|
||||||
|
echo obj.s1[0u]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue