diff --git a/compiler/cgen.nim b/compiler/cgen.nim index a8045e054d..3df23b7ce0 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -1999,8 +1999,9 @@ proc myClose(graph: ModuleGraph; b: PPassContext, n: PNode): PNode = if m.config.exc == excGoto and getCompilerProc(graph, "nimTestErrorFlag") != nil: discard cgsym(m, "nimTestErrorFlag") - for i in countdown(high(graph.globalDestructors), 0): - n.add graph.globalDestructors[i] + if {optGenStaticLib, optGenDynLib} * m.config.globalOptions == {}: + for i in countdown(high(graph.globalDestructors), 0): + n.add graph.globalDestructors[i] if passes.skipCodegen(m.config, n): return if moduleHasChanged(graph, m.module): # if the module is cached, we don't regenerate the main proc