fixes #1511
This commit is contained in:
parent
201a08e9a5
commit
e093f45756
1 changed files with 17 additions and 14 deletions
|
|
@ -23,6 +23,7 @@ proc semBreakOrContinue(c: PContext, n: PNode): PNode =
|
||||||
result = n
|
result = n
|
||||||
checkSonsLen(n, 1)
|
checkSonsLen(n, 1)
|
||||||
if n.sons[0].kind != nkEmpty:
|
if n.sons[0].kind != nkEmpty:
|
||||||
|
if n.kind != nkContinueStmt:
|
||||||
var s: PSym
|
var s: PSym
|
||||||
case n.sons[0].kind
|
case n.sons[0].kind
|
||||||
of nkIdent: s = lookUp(c, n.sons[0])
|
of nkIdent: s = lookUp(c, n.sons[0])
|
||||||
|
|
@ -36,6 +37,8 @@ proc semBreakOrContinue(c: PContext, n: PNode): PNode =
|
||||||
suggestSym(x.info, s)
|
suggestSym(x.info, s)
|
||||||
else:
|
else:
|
||||||
localError(n.info, errInvalidControlFlowX, s.name.s)
|
localError(n.info, errInvalidControlFlowX, s.name.s)
|
||||||
|
else:
|
||||||
|
localError(n.info, errGenerated, "'continue' cannot have a label")
|
||||||
elif (c.p.nestedLoopCounter <= 0) and (c.p.nestedBlockCounter <= 0):
|
elif (c.p.nestedLoopCounter <= 0) and (c.p.nestedBlockCounter <= 0):
|
||||||
localError(n.info, errInvalidControlFlowX,
|
localError(n.info, errInvalidControlFlowX,
|
||||||
renderTree(n, {renderNoComments}))
|
renderTree(n, {renderNoComments}))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue