summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/pragmas.nim6
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: