Restore compatibility with old vcc versions [backport] (#10415)
Local variables are declared before anything else. Fixes #10352
This commit is contained in:
parent
0ebfcd4c0f
commit
53eda40d40
1 changed files with 14 additions and 14 deletions
|
|
@ -1313,9 +1313,19 @@ proc genInitCode(m: BModule) =
|
||||||
appcg(m, m.s[cfsTypeInit1], "static #TNimType $1[$2];$n",
|
appcg(m, m.s[cfsTypeInit1], "static #TNimType $1[$2];$n",
|
||||||
[m.nimTypesName, rope(m.nimTypes)])
|
[m.nimTypesName, rope(m.nimTypes)])
|
||||||
|
|
||||||
# Give this small function its own scope
|
if m.initProc.gcFrameId > 0:
|
||||||
addf(prc, "{$N", [])
|
moduleInitRequired = true
|
||||||
block:
|
add(prc, initGCFrame(m.initProc))
|
||||||
|
|
||||||
|
if m.initProc.s(cpsLocals).len > 0:
|
||||||
|
moduleInitRequired = true
|
||||||
|
add(prc, genSectionStart(cpsLocals, m.config))
|
||||||
|
add(prc, m.initProc.s(cpsLocals))
|
||||||
|
add(prc, genSectionEnd(cpsLocals, m.config))
|
||||||
|
|
||||||
|
if m.preInitProc.s(cpsInit).len > 0 or m.preInitProc.s(cpsStmts).len > 0:
|
||||||
|
# Give this small function its own scope
|
||||||
|
addf(prc, "{$N", [])
|
||||||
# Keep a bogus frame in case the code needs one
|
# Keep a bogus frame in case the code needs one
|
||||||
add(prc, ~"\tTFrame FR_; FR_.len = 0;$N")
|
add(prc, ~"\tTFrame FR_; FR_.len = 0;$N")
|
||||||
|
|
||||||
|
|
@ -1336,17 +1346,7 @@ proc genInitCode(m: BModule) =
|
||||||
add(prc, genSectionStart(cpsStmts, m.config))
|
add(prc, genSectionStart(cpsStmts, m.config))
|
||||||
add(prc, m.preInitProc.s(cpsStmts))
|
add(prc, m.preInitProc.s(cpsStmts))
|
||||||
add(prc, genSectionEnd(cpsStmts, m.config))
|
add(prc, genSectionEnd(cpsStmts, m.config))
|
||||||
addf(prc, "}$N", [])
|
addf(prc, "}$N", [])
|
||||||
|
|
||||||
if m.initProc.gcFrameId > 0:
|
|
||||||
moduleInitRequired = true
|
|
||||||
add(prc, initGCFrame(m.initProc))
|
|
||||||
|
|
||||||
if m.initProc.s(cpsLocals).len > 0:
|
|
||||||
moduleInitRequired = true
|
|
||||||
add(prc, genSectionStart(cpsLocals, m.config))
|
|
||||||
add(prc, m.initProc.s(cpsLocals))
|
|
||||||
add(prc, genSectionEnd(cpsLocals, m.config))
|
|
||||||
|
|
||||||
if m.initProc.s(cpsInit).len > 0 or m.initProc.s(cpsStmts).len > 0:
|
if m.initProc.s(cpsInit).len > 0 or m.initProc.s(cpsStmts).len > 0:
|
||||||
moduleInitRequired = true
|
moduleInitRequired = true
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue