undo try break

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

View file

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