diff options
author | awr <41453959+awr1@users.noreply.github.com> | 2018-09-04 16:42:37 -0500 |
---|---|---|
committer | awr <41453959+awr1@users.noreply.github.com> | 2018-09-04 16:42:37 -0500 |
commit | cd3d4faa79d0ae90afa706393ec67f0721ed87be (patch) | |
tree | 9f19b79a5419bdb0441bba9339c1ac0d361c23d0 /compiler/pragmas.nim | |
parent | eb668003bf35671d7358e5f54e05820c0f4aef3d (diff) | |
download | Nim-cd3d4faa79d0ae90afa706393ec67f0721ed87be.tar.gz |
Deny THIS experimental pragma specifically for non-toplevel
Diffstat (limited to 'compiler/pragmas.nim')
-rw-r--r-- | compiler/pragmas.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim index 910ee799c..fae215556 100644 --- a/compiler/pragmas.nim +++ b/compiler/pragmas.nim @@ -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: |