Fix destructor injections for global variables (#11230)

* attach global destructors at end of mainModule
* Add testcase
* Minor cleanup
* Inject topLevelVar temporaries' destructors early
* Fix megatest
This commit is contained in:
Clyybber 2019-05-13 08:28:33 +02:00 • committed by Andreas Rumpf
commit 0c869eaa47
7 changed files with 45 additions and 8 deletions

View file

@ -71,6 +71,7 @@ type
onDefinition*: proc (graph: ModuleGraph; s: PSym; info: TLineInfo) {.nimcall.}
onDefinitionResolveForward*: proc (graph: ModuleGraph; s: PSym; info: TLineInfo) {.nimcall.}
onUsage*: proc (graph: ModuleGraph; s: PSym; info: TLineInfo) {.nimcall.}
globalDestructors*: seq[PNode]
TPassContext* = object of RootObj # the pass's context
PPassContext* = ref TPassContext