summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/sempass2.nim11
1 files changed, 5 insertions, 6 deletions
diff --git a/compiler/sempass2.nim b/compiler/sempass2.nim
index b584bb232..cae2f926c 100644
--- a/compiler/sempass2.nim
+++ b/compiler/sempass2.nim
@@ -296,12 +296,11 @@ proc useVarNoInitCheck(a: PEffects; n: PNode; s: PSym) =
   if {sfGlobal, sfThread} * s.flags != {} and s.kind in {skVar, skLet} and
       s.magic != mNimvm:
     if s.guard != nil: guardGlobal(a, n, s.guard)
-    if strictEffects notin a.c.features:
-      if {sfGlobal, sfThread} * s.flags == {sfGlobal} and
-          (tfHasGCedMem in s.typ.flags or s.typ.isGCedMem):
-        #if a.config.hasWarn(warnGcUnsafe): warnAboutGcUnsafe(n)
-        markGcUnsafe(a, s)
-      markSideEffect(a, s, n.info)
+    if {sfGlobal, sfThread} * s.flags == {sfGlobal} and
+        (tfHasGCedMem in s.typ.flags or s.typ.isGCedMem):
+      #if a.config.hasWarn(warnGcUnsafe): warnAboutGcUnsafe(n)
+      markGcUnsafe(a, s)
+    markSideEffect(a, s, n.info)
   if s.owner != a.owner and s.kind in {skVar, skLet, skForVar, skResult, skParam} and
      {sfGlobal, sfThread} * s.flags == {}:
     a.isInnerProc = true