parent
67e91558cf
commit
28a926cb67
2 changed files with 18 additions and 3 deletions
|
|
@ -400,7 +400,8 @@ proc exprList(p: var TParser, endTok: TTokType, result: PNode) =
|
||||||
proc exprColonEqExprListAux(p: var TParser, endTok: TTokType, result: PNode) =
|
proc exprColonEqExprListAux(p: var TParser, endTok: TTokType, result: PNode) =
|
||||||
assert(endTok in {tkCurlyRi, tkCurlyDotRi, tkBracketRi, tkParRi})
|
assert(endTok in {tkCurlyRi, tkCurlyDotRi, tkBracketRi, tkParRi})
|
||||||
getTok(p)
|
getTok(p)
|
||||||
optInd(p, result)
|
flexComment(p, result)
|
||||||
|
optPar(p)
|
||||||
# progress guaranteed
|
# progress guaranteed
|
||||||
while p.tok.tokType != endTok and p.tok.tokType != tkEof:
|
while p.tok.tokType != endTok and p.tok.tokType != tkEof:
|
||||||
var a = exprColonEqExpr(p)
|
var a = exprColonEqExpr(p)
|
||||||
|
|
@ -2085,7 +2086,7 @@ proc parseConstant(p: var TParser): PNode =
|
||||||
addSon(result, p.emptyNode)
|
addSon(result, p.emptyNode)
|
||||||
eat(p, tkEquals)
|
eat(p, tkEquals)
|
||||||
optInd(p, result)
|
optInd(p, result)
|
||||||
addSon(result, parseExpr(p))
|
addSon(result, parseStmtListExpr(p))
|
||||||
indAndComment(p, result)
|
indAndComment(p, result)
|
||||||
|
|
||||||
proc parseBind(p: var TParser, k: TNodeKind): PNode =
|
proc parseBind(p: var TParser, k: TNodeKind): PNode =
|
||||||
|
|
|
||||||
|
|
@ -58,4 +58,18 @@ block:
|
||||||
var y = 2
|
var y = 2
|
||||||
echo "block expression works"
|
echo "block expression works"
|
||||||
y*y
|
y*y
|
||||||
doAssert x == 4
|
doAssert x == 4
|
||||||
|
|
||||||
|
|
||||||
|
# bug 10861
|
||||||
|
macro foo(a: untyped): untyped =
|
||||||
|
a
|
||||||
|
|
||||||
|
let c1 = foo:
|
||||||
|
1 + 1
|
||||||
|
|
||||||
|
const c2 = foo:
|
||||||
|
1 + 1
|
||||||
|
|
||||||
|
const c3 =
|
||||||
|
foo: 1 + 1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue