parent
9bacdd64c1
commit
c34cb101b8
2 changed files with 15 additions and 7 deletions
|
|
@ -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 = {}) =
|
proc gen(c: PCtx; n: PNode; dest: TRegister; flags: TGenFlags = {}) =
|
||||||
var d: TDest = dest
|
var d: TDest = dest
|
||||||
gen(c, n, d, flags)
|
gen(c, n, d, flags)
|
||||||
internalAssert d == dest
|
#internalAssert d == dest # issue #7407
|
||||||
|
|
||||||
proc gen(c: PCtx; n: PNode; flags: TGenFlags = {}) =
|
proc gen(c: PCtx; n: PNode; flags: TGenFlags = {}) =
|
||||||
var tmp: TDest = -1
|
var tmp: TDest = -1
|
||||||
|
|
@ -1829,7 +1829,6 @@ proc gen(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags = {}) =
|
||||||
unused(n, dest)
|
unused(n, dest)
|
||||||
genReturn(c, n)
|
genReturn(c, n)
|
||||||
of nkRaiseStmt:
|
of nkRaiseStmt:
|
||||||
unused(n, dest)
|
|
||||||
genRaise(c, n)
|
genRaise(c, n)
|
||||||
of nkBreakStmt:
|
of nkBreakStmt:
|
||||||
unused(n, dest)
|
unused(n, dest)
|
||||||
|
|
|
||||||
|
|
@ -45,15 +45,24 @@ let a = case str1:
|
||||||
echo "no good"
|
echo "no good"
|
||||||
quit("quiting")
|
quit("quiting")
|
||||||
|
|
||||||
let b = case str2:
|
proc toBool(s: string): bool =
|
||||||
of nil, "": raise newException(ValueError, "Invalid boolean")
|
case s:
|
||||||
elif str2[0] == 'Y': true
|
of nil, "": raise newException(ValueError, "Invalid boolean")
|
||||||
elif str2[0] == 'N': false
|
elif s[0] == 'Y': true
|
||||||
else: "error".quit(2)
|
elif s[0] == 'N': false
|
||||||
|
else: "error".quit(2)
|
||||||
|
|
||||||
|
|
||||||
|
let b = "NN".toBool()
|
||||||
|
|
||||||
doAssert(a == true)
|
doAssert(a == true)
|
||||||
doAssert(b == false)
|
doAssert(b == false)
|
||||||
|
|
||||||
|
static:
|
||||||
|
#bug #7407
|
||||||
|
let bstatic = "N".toBool()
|
||||||
|
doAssert(bstatic == false)
|
||||||
|
|
||||||
var bb: bool
|
var bb: bool
|
||||||
doassert(not compiles(
|
doassert(not compiles(
|
||||||
bb = case str2:
|
bb = case str2:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue