summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2015-04-08 15:13:58 +0200
committerAraq <rumpf_a@web.de>2015-04-08 15:13:58 +0200
commit2176ea759fed7c01919e9945f54c1cba8f598db5 (patch)
treec34a89903a5ca45b84b1a84e177590492c1c3717
parent4b382940f084acc289bda6b321104e96329290d9 (diff)
downloadNim-2176ea759fed7c01919e9945f54c1cba8f598db5.tar.gz
fixes #2489
-rw-r--r--compiler/ccgexprs.nim2
-rw-r--r--tests/ccgbugs/tarray_equality.nim9
2 files changed, 10 insertions, 1 deletions
diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim
index c7a92ed32..4123be7b9 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 000000000..1d4465477
--- /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