diff options
author | Arne Döring <arne.doering@gmx.net> | 2019-10-20 11:52:50 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-10-20 11:52:50 +0200 |
commit | ec20fd35447fea2a5da8538260397cea24051db5 (patch) | |
tree | ee18c998d8fc87d546f712e97df34c018cb52aed /compiler/cgen.nim | |
parent | df4c339cfce15ccc5406bc7763eac4daf9b8c76f (diff) | |
download | Nim-ec20fd35447fea2a5da8538260397cea24051db5.tar.gz |
fix #12426 (#12462)
Diffstat (limited to 'compiler/cgen.nim')
-rw-r--r-- | compiler/cgen.nim | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 5809a4049..71d719814 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -997,13 +997,14 @@ proc genProcAux(m: BModule, prc: PSym) = closureSetup(p, prc) genStmts(p, procBody) # modifies p.locals, p.init, etc. var generatedProc: Rope + generatedProc.genCLineDir prc.info, m.config if sfNoReturn in prc.flags: if hasDeclspec in extccomp.CC[p.config.cCompiler].props: header = "__declspec(noreturn) " & header if sfPure in prc.flags: if hasDeclspec in extccomp.CC[p.config.cCompiler].props: header = "__declspec(naked) " & header - generatedProc = ropecg(p.module, "$N$1 {$n$2$3$4}$N$N", + generatedProc.add ropecg(p.module, "$1 {$n$2$3$4}$N$N", [header, p.s(cpsLocals), p.s(cpsInit), p.s(cpsStmts)]) else: if m.hcrOn and isReloadable(m, prc): @@ -1011,7 +1012,7 @@ proc genProcAux(m: BModule, prc: PSym) = # This fixes the use of methods and also the case when 2 functions within the same module # call each other using directly the "_actual" versions (an optimization) - see issue #11608 addf(m.s[cfsProcHeaders], "$1;\n", [header]) - generatedProc = ropecg(p.module, "$N$1 {$N", [header]) + generatedProc.add ropecg(p.module, "$1 {", [header]) add(generatedProc, initGCFrame(p)) if optStackTrace in prc.options: add(generatedProc, p.s(cpsLocals)) |