This commit is contained in:
cooldome
2018-04-06 09:53:21 +01:00
committed by Andreas Rumpf
parent 9bacdd64c1
commit c34cb101b8
2 changed files with 15 additions and 7 deletions

View File

@@ -251,7 +251,7 @@ proc gen(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags = {})
proc gen(c: PCtx; n: PNode; dest: TRegister; flags: TGenFlags = {}) =
var d: TDest = dest
gen(c, n, d, flags)
internalAssert d == dest
#internalAssert d == dest # issue #7407
proc gen(c: PCtx; n: PNode; flags: TGenFlags = {}) =
var tmp: TDest = -1
@@ -1829,7 +1829,6 @@ proc gen(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags = {}) =
unused(n, dest)
genReturn(c, n)
of nkRaiseStmt:
unused(n, dest)
genRaise(c, n)
of nkBreakStmt:
unused(n, dest)

View File

@@ -45,15 +45,24 @@ let a = case str1:
echo "no good"
quit("quiting")
let b = case str2:
of nil, "": raise newException(ValueError, "Invalid boolean")
elif str2[0] == 'Y': true
elif str2[0] == 'N': false
else: "error".quit(2)
proc toBool(s: string): bool =
case s:
of nil, "": raise newException(ValueError, "Invalid boolean")
elif s[0] == 'Y': true
elif s[0] == 'N': false
else: "error".quit(2)
let b = "NN".toBool()
doAssert(a == true)
doAssert(b == false)
static:
#bug #7407
let bstatic = "N".toBool()
doAssert(bstatic == false)
var bb: bool
doassert(not compiles(
bb = case str2: