diff options
Diffstat (limited to 'compiler/cgen.nim')
-rw-r--r-- | compiler/cgen.nim | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 620ee4887..d80a68609 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -867,10 +867,11 @@ proc genMainProc(m: BModule) = MainProcsWithResult = MainProcs & "\treturn nim_program_result;$N" - NimMainBody = - "N_CDECL(void, NimMainInner)(void) {$N" & + NimMainInner = "N_CDECL(void, NimMainInner)(void) {$N" & "$1" & - "}$N$N" & + "}$N$N" + + NimMainProc = "N_CDECL(void, NimMain)(void) {$N" & "\tvoid (*volatile inner)();$N" & "\tPreMain();$N" & @@ -879,6 +880,8 @@ proc genMainProc(m: BModule) = "\t(*inner)();$N" & "}$N$N" + NimMainBody = NimMainInner & NimMainProc + PosixNimMain = "int cmdCount;$N" & "char** cmdLine;$N" & @@ -906,7 +909,7 @@ proc genMainProc(m: BModule) = " LPSTR lpCmdLine, int nCmdShow) {$N" & MainProcsWithResult & "}$N$N" - WinNimDllMain = "N_LIB_EXPORT " & NimMainBody + WinNimDllMain = NimMainInner & "N_LIB_EXPORT " & NimMainProc WinCDllMain = "BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, $N" & |