This commit is contained in:
Araq 2014-07-08 16:37:45 +02:00
commit 39ce17a73e
2 changed files with 18 additions and 5 deletions

View file

@ -671,14 +671,11 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg =
of opcLtu: of opcLtu:
decodeBC(rkInt) decodeBC(rkInt)
regs[ra].intVal = ord(regs[rb].intVal <% regs[rc].intVal) regs[ra].intVal = ord(regs[rb].intVal <% regs[rc].intVal)
of opcEqRef: of opcEqRef, opcEqNimrodNode:
decodeBC(rkInt) decodeBC(rkInt)
regs[ra].intVal = ord((regs[rb].node.kind == nkNilLit and regs[ra].intVal = ord((regs[rb].node.kind == nkNilLit and
regs[rc].node.kind == nkNilLit) or regs[rc].node.kind == nkNilLit) or
regs[rb].node == regs[rc].node) regs[rb].node == regs[rc].node)
of opcEqNimrodNode:
decodeBC(rkInt)
regs[ra].intVal = ord(regs[rb].node == regs[rc].node)
of opcXor: of opcXor:
decodeBC(rkInt) decodeBC(rkInt)
regs[ra].intVal = ord(regs[rb].intVal != regs[rc].intVal) regs[ra].intVal = ord(regs[rb].intVal != regs[rc].intVal)

View file

@ -6,7 +6,10 @@ f
TTaa TTaa
TTaa TTaa
TTaa TTaa
TTaa''' TTaa
true
true
nil'''
output: '''test''' output: '''test'''
""" """
@ -62,3 +65,16 @@ macro m(s:static[Td]) : stmt =
const s=("TT", 3) const s=("TT", 3)
m(s) m(s)
m(s) m(s)
# bug #933
proc nilcheck(): PNimrodNode {.compileTime.} =
echo(result == nil) # true
echo(result.isNil) # true
echo(repr(result)) # nil
macro testnilcheck(): stmt =
result = newNimNode(nnkStmtList)
discard nilcheck()
testnilcheck()