Revert LEN() to returnng LONGINT

This commit is contained in:
David Brown 2016-09-22 20:48:13 +01:00
parent b40dc4e2f8
commit 7b8eed9993
7 changed files with 13 additions and 12 deletions

View file

@ -2067,7 +2067,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
x->conval->intval += 1;
}
p = NewOp__53(12, 19, p, x);
p->typ = OPT_adrtyp;
p->typ = OPT_linttyp;
} else {
p = x;
p->conval->intval = typ->n;
@ -2323,7 +2323,7 @@ void OPB_StFct (OPT_Node *par0, int8 fctno, int16 parno)
p = p->left;
dim += 1;
}
OPB_BindNodes(12, OPT_adrtyp, &p, OPB_NewIntConst(dim));
OPB_BindNodes(12, OPT_linttyp, &p, OPB_NewIntConst(dim));
p->subcl = 19;
} else {
p = OPB_NewIntConst(p->typ->n);

View file

@ -2067,7 +2067,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
x->conval->intval += 1;
}
p = NewOp__53(12, 19, p, x);
p->typ = OPT_adrtyp;
p->typ = OPT_linttyp;
} else {
p = x;
p->conval->intval = typ->n;
@ -2323,7 +2323,7 @@ void OPB_StFct (OPT_Node *par0, int8 fctno, int16 parno)
p = p->left;
dim += 1;
}
OPB_BindNodes(12, OPT_adrtyp, &p, OPB_NewIntConst(dim));
OPB_BindNodes(12, OPT_linttyp, &p, OPB_NewIntConst(dim));
p->subcl = 19;
} else {
p = OPB_NewIntConst(p->typ->n);

View file

@ -2067,7 +2067,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
x->conval->intval += 1;
}
p = NewOp__53(12, 19, p, x);
p->typ = OPT_adrtyp;
p->typ = OPT_linttyp;
} else {
p = x;
p->conval->intval = typ->n;
@ -2323,7 +2323,7 @@ void OPB_StFct (OPT_Node *par0, int8 fctno, int32 parno)
p = p->left;
dim += 1;
}
OPB_BindNodes(12, OPT_adrtyp, &p, OPB_NewIntConst(dim));
OPB_BindNodes(12, OPT_linttyp, &p, OPB_NewIntConst(dim));
p->subcl = 19;
} else {
p = OPB_NewIntConst(p->typ->n);

View file

@ -2067,7 +2067,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
x->conval->intval += 1;
}
p = NewOp__53(12, 19, p, x);
p->typ = OPT_adrtyp;
p->typ = OPT_linttyp;
} else {
p = x;
p->conval->intval = typ->n;
@ -2323,7 +2323,7 @@ void OPB_StFct (OPT_Node *par0, int8 fctno, int16 parno)
p = p->left;
dim += 1;
}
OPB_BindNodes(12, OPT_adrtyp, &p, OPB_NewIntConst(dim));
OPB_BindNodes(12, OPT_linttyp, &p, OPB_NewIntConst(dim));
p->subcl = 19;
} else {
p = OPB_NewIntConst(p->typ->n);

View file

@ -2067,7 +2067,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
x->conval->intval += 1;
}
p = NewOp__53(12, 19, p, x);
p->typ = OPT_adrtyp;
p->typ = OPT_linttyp;
} else {
p = x;
p->conval->intval = typ->n;
@ -2323,7 +2323,7 @@ void OPB_StFct (OPT_Node *par0, int8 fctno, int32 parno)
p = p->left;
dim += 1;
}
OPB_BindNodes(12, OPT_adrtyp, &p, OPB_NewIntConst(dim));
OPB_BindNodes(12, OPT_linttyp, &p, OPB_NewIntConst(dim));
p->subcl = 19;
} else {
p = OPB_NewIntConst(p->typ->n);

View file

@ -1124,7 +1124,7 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *)
ELSE x^.obj := NIL;
IF typ^.comp = OPT.DynArr THEN
WHILE p^.class = OPT.Nindex DO p := p^.left; INC(x^.conval^.intval) END ; (* possible side effect ignored *)
p := NewOp(OPT.Ndop, OPT.len, p, x); p^.typ := OPT.adrtyp
p := NewOp(OPT.Ndop, OPT.len, p, x); p^.typ := OPT.linttyp
ELSE p := x; p^.conval^.intval := typ^.n; SetIntType(p)
END
END
@ -1293,7 +1293,7 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *)
ELSIF (fctno = OPT.lenfn) & (parno = 1) THEN (*LEN*)
IF p^.typ^.comp = OPT.DynArr THEN dim := 0;
WHILE p^.class = OPT.Nindex DO p := p^.left; INC(dim) END ; (* possible side effect ignored *)
BindNodes(OPT.Ndop, OPT.adrtyp, p, NewIntConst(dim)); p^.subcl := OPT.len
BindNodes(OPT.Ndop, OPT.linttyp, p, NewIntConst(dim)); p^.subcl := OPT.len
ELSE
p := NewIntConst(p^.typ^.n)
END

View file

@ -20,6 +20,7 @@ FLAVOUR = $(OS).$(DATAMODEL).$(COMPILER)
BUILDDIR = build/$(FLAVOUR)
VISHAP = $(ONAME)$(BINEXT)
# MODEL=-O2 # Override model - build everything as S8,I16,L32.