Deny THIS experimental pragma specifically for non-toplevel

This commit is contained in:
awr
2018-09-04 16:42:37 -05:00
parent eb668003bf
commit cd3d4faa79

View File

@@ -743,7 +743,11 @@ proc processExperimental(c: PContext; n: PNode) =
let feature = parseEnum[Feature](n[1].strVal)
c.features.incl feature
if feature == codeReordering:
c.module.flags.incl sfReorder
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: