Fix merge
This commit is contained in:
parent
cd3d4faa79
commit
c2b09a499c
1 changed files with 7 additions and 22 deletions
|
|
@ -347,7 +347,13 @@ proc processExperimental(c: PContext; n: PNode) =
|
||||||
case n[1].kind
|
case n[1].kind
|
||||||
of nkStrLit, nkRStrLit, nkTripleStrLit:
|
of nkStrLit, nkRStrLit, nkTripleStrLit:
|
||||||
try:
|
try:
|
||||||
c.features.incl parseEnum[Feature](n[1].strVal)
|
let feature = parseEnum[Feature](n[1].strVal)
|
||||||
|
c.features.incl feature
|
||||||
|
if feature == codeReordering:
|
||||||
|
if not isTopLevel(c):
|
||||||
|
localError(c.config, n.info,
|
||||||
|
"Code reordering experimental pragma only valid at toplevel")
|
||||||
|
c.module.flags.incl sfReorder
|
||||||
except ValueError:
|
except ValueError:
|
||||||
localError(c.config, n[1].info, "unknown experimental feature")
|
localError(c.config, n[1].info, "unknown experimental feature")
|
||||||
else:
|
else:
|
||||||
|
|
@ -732,27 +738,6 @@ proc semCustomPragma(c: PContext, n: PNode): PNode =
|
||||||
elif n.kind == nkExprColonExpr:
|
elif n.kind == nkExprColonExpr:
|
||||||
result.kind = n.kind # pragma(arg) -> pragma: arg
|
result.kind = n.kind # pragma(arg) -> pragma: arg
|
||||||
|
|
||||||
proc processExperimental(c: PContext; n: PNode) =
|
|
||||||
if n.kind notin nkPragmaCallKinds or n.len != 2:
|
|
||||||
c.features.incl oldExperimentalFeatures
|
|
||||||
else:
|
|
||||||
n[1] = c.semConstExpr(c, n[1])
|
|
||||||
case n[1].kind
|
|
||||||
of nkStrLit, nkRStrLit, nkTripleStrLit:
|
|
||||||
try:
|
|
||||||
let feature = parseEnum[Feature](n[1].strVal)
|
|
||||||
c.features.incl feature
|
|
||||||
if feature == codeReordering:
|
|
||||||
if not isTopLevel(c):
|
|
||||||
localError(c.config, n.info,
|
|
||||||
"Code reordering experimental pragma only valid at toplevel")
|
|
||||||
else:
|
|
||||||
c.module.flags.incl sfReorder
|
|
||||||
except ValueError:
|
|
||||||
localError(c.config, n[1].info, "unknown experimental feature")
|
|
||||||
else:
|
|
||||||
localError(c.config, n.info, errStringLiteralExpected)
|
|
||||||
|
|
||||||
proc singlePragma(c: PContext, sym: PSym, n: PNode, i: var int,
|
proc singlePragma(c: PContext, sym: PSym, n: PNode, i: var int,
|
||||||
validPragmas: TSpecialWords): bool =
|
validPragmas: TSpecialWords): bool =
|
||||||
var it = n.sons[i]
|
var it = n.sons[i]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue