put the new for loop macros under an experimental switch named 'forLoopMacros'

This commit is contained in:
Andreas Rumpf 2018-08-15 17:45:57 +02:00
commit da41fc1801
4 changed files with 13 additions and 5 deletions

View file

@ -720,8 +720,9 @@ proc handleForLoopMacro(c: PContext; n: PNode): PNode =
proc semFor(c: PContext, n: PNode): PNode =
checkMinSonsLen(n, 3, c.config)
var length = sonsLen(n)
result = handleForLoopMacro(c, n)
if result != nil: return result
if forLoopMacros in c.features:
result = handleForLoopMacro(c, n)
if result != nil: return result
openScope(c)
result = n
n.sons[length-2] = semExprNoDeref(c, n.sons[length-2], {efWantIterator})