fix reraise (#11017)

This commit is contained in:
cooldome 2019-04-13 09:50:30 +01:00 • committed by Andreas Rumpf
commit fdc3f54f97
2 changed files with 9 additions and 5 deletions

View file

@ -753,7 +753,7 @@ proc p(n: PNode; c: var Con): PNode =
result = copyTree(n) result = copyTree(n)
result[1][0] = p(result[1][0], c) result[1][0] = p(result[1][0], c)
of nkRaiseStmt: of nkRaiseStmt:
if optNimV2 in c.graph.config.globalOptions: if optNimV2 in c.graph.config.globalOptions and n[0].kind != nkEmpty:
let t = n[0].typ let t = n[0].typ
let tmp = getTemp(c, t, n.info) let tmp = getTemp(c, t, n.info)
var m = genCopyNoCheck(c, t, tmp, n[0]) var m = genCopyNoCheck(c, t, tmp, n[0])

View file

@ -9,10 +9,14 @@ import system / ansi_c
import core / allocators import core / allocators
proc mainA = proc mainA =
var e: owned(ref ValueError) try:
new(e) var e: owned(ref ValueError)
e.msg = "message" new(e)
raise e e.msg = "message"
raise e
except Exception as e:
raise
proc main = proc main =
raise newException(ValueError, "argh") raise newException(ValueError, "argh")