undo try break

This commit is contained in:
Arne Döring
2018-10-30 16:35:48 +01:00
parent bab9e0020a
commit cf3d206b9e

View File

@@ -875,15 +875,16 @@ proc genTryCpp(p: BProc, t: PNode, d: var TLoc) =
discard pop(p.nestedTryStmts)
if t[^1].kind == nkFinally:
if catchAllPresent:
genSimpleBlock(p, t[^1][0])
else:
# c++ does not have finally, therefore code needs to be generated twice
if not catchAllPresent:
# finally requires catch all presence
startBlock(p, "catch (...) {$n")
genSimpleBlock(p, t[^1][0])
genStmts(p, t[^1][0])
line(p, cpsStmts, ~"throw;$n")
endBlock(p)
genSimpleBlock(p, t[^1][0])
proc genTry(p: BProc, t: PNode, d: var TLoc) =
# code to generate:
#