From 2176ea759fed7c01919e9945f54c1cba8f598db5 Mon Sep 17 00:00:00 2001 From: Araq Date: Wed, 8 Apr 2015 15:13:58 +0200 Subject: [PATCH] fixes #2489 --- compiler/ccgexprs.nim | 2 +- tests/ccgbugs/tarray_equality.nim | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 tests/ccgbugs/tarray_equality.nim diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index c7a92ed32b..4123be7b9c 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -1587,7 +1587,7 @@ proc genRangeChck(p: BProc, n: PNode, d: var TLoc, magic: string) = [getTypeDesc(p.module, dest), rdCharLoc(a)]) else: initLocExpr(p, n.sons[0], a) - if leValue(n.sons[2], n.sons[1]): + if not leValue(n.sons[1], n.sons[2]): internalError(n.info, "range check will always fail; empty range") putIntoDest(p, d, dest, ropecg(p.module, "(($1)#$5($2, $3, $4))", [ getTypeDesc(p.module, dest), rdCharLoc(a), diff --git a/tests/ccgbugs/tarray_equality.nim b/tests/ccgbugs/tarray_equality.nim new file mode 100644 index 0000000000..1d4465477a --- /dev/null +++ b/tests/ccgbugs/tarray_equality.nim @@ -0,0 +1,9 @@ +discard """ + output: '''true''' +""" + +# bug #2489 + +let a = [1] +let b = [1] +echo a == b