summaryrefslogtreecommitdiff
path: root/sys/src/cmd/forp
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2018-12-06 10:56:32 +0000
committeraiju <devnull@localhost>2018-12-06 10:56:32 +0000
commit4415dde6d3345b21d49848fd7e76b2860f58512e (patch)
tree354fb80977b95e883d2939306285ff762c9b1e5d /sys/src/cmd/forp
parent023f5eca58471db968aee3de7729c1c9b0540952 (diff)
forp: change indexing to verilog-like semantics
Diffstat (limited to 'sys/src/cmd/forp')
-rw-r--r--sys/src/cmd/forp/cvt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/src/cmd/forp/cvt.c b/sys/src/cmd/forp/cvt.c
index f0b9308fd..86fb7a92e 100644
--- a/sys/src/cmd/forp/cvt.c
+++ b/sys/src/cmd/forp/cvt.c
@@ -251,9 +251,9 @@ opidx(Node *rn, Node *n1, Node *n2, Node *n3)
{
int i, j, k, s;
- j = mptoi(n2->num);
- if(n3 == nil) k = j;
- else k = mptoi(n3->num);
+ k = mptoi(n2->num);
+ if(n3 == nil) j = k;
+ else j = mptoi(n3->num);
if(j > k){
nodevars(rn, 1);
return;
@@ -492,7 +492,7 @@ convert(Node *n, uint sz)
case ASTIDX:
if(n->n2->type != ASTNUM || n->n3 != nil && n->n3->type != ASTNUM)
error(n, "non-constant in indexing expression");
- convert(n->n1, (n->n3 != nil ? mptoi(n->n3->num) : mptoi(n->n2->num)) + 1);
+ convert(n->n1, n->n3 != nil ? mptoi(n->n3->num) - mptoi(n->n2->num) + 1 : 1);
opidx(n, n->n1, n->n2, n->n3);
break;
case ASTTERN: