summary refs log tree commit diff stats
path: root/compiler/jsgen.nim
diff options
context:
space:
mode:
authorHans Raaf <hara@oderwat.de>2016-02-07 00:30:21 +0100
committerHans Raaf <hara@oderwat.de>2016-02-07 00:30:21 +0100
commite737b47ee148c77184ad985573d1cfc329b2fcab (patch)
treeff2afadaf49576b4ea503f2cdcf36bbfa5d3cd34 /compiler/jsgen.nim
parent77235947c15f66fd3a933a6832eecabe1991e93a (diff)
downloadNim-e737b47ee148c77184ad985573d1cfc329b2fcab.tar.gz
Fix for index check in PHP code.
Diffstat (limited to 'compiler/jsgen.nim')
-rw-r--r--compiler/jsgen.nim5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim
index 5da61e382..21bd45d71 100644
--- a/compiler/jsgen.nim
+++ b/compiler/jsgen.nim
@@ -891,7 +891,10 @@ proc genArrayAddr(p: PProc, n: PNode, r: var TCompRes) =
   else: first = 0
   if optBoundsCheck in p.options and not isConstExpr(m.sons[1]):
     useMagic(p, "chckIndx")
-    r.res = "chckIndx($1, $2, $3.length)-$2" % [b.res, rope(first), a.res]
+    if p.target == targetPHP:
+      r.res = "chckIndx($1, $2, count($3))-$2" % [b.res, rope(first), a.res]
+    else:
+      r.res = "chckIndx($1, $2, $3.length)-$2" % [b.res, rope(first), a.res]
   elif first != 0:
     r.res = "($1)-$2" % [b.res, rope(first)]
   else: