diff --git a/bootstrap/unix-44/OPB.c b/bootstrap/unix-44/OPB.c index 4c60257b..d0336349 100644 --- a/bootstrap/unix-44/OPB.c +++ b/bootstrap/unix-44/OPB.c @@ -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); diff --git a/bootstrap/unix-48/OPB.c b/bootstrap/unix-48/OPB.c index 4c60257b..d0336349 100644 --- a/bootstrap/unix-48/OPB.c +++ b/bootstrap/unix-48/OPB.c @@ -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); diff --git a/bootstrap/unix-88/OPB.c b/bootstrap/unix-88/OPB.c index a3870901..5cea943a 100644 --- a/bootstrap/unix-88/OPB.c +++ b/bootstrap/unix-88/OPB.c @@ -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); diff --git a/bootstrap/windows-48/OPB.c b/bootstrap/windows-48/OPB.c index 4c60257b..d0336349 100644 --- a/bootstrap/windows-48/OPB.c +++ b/bootstrap/windows-48/OPB.c @@ -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); diff --git a/bootstrap/windows-88/OPB.c b/bootstrap/windows-88/OPB.c index a3870901..5cea943a 100644 --- a/bootstrap/windows-88/OPB.c +++ b/bootstrap/windows-88/OPB.c @@ -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); diff --git a/src/compiler/OPB.Mod b/src/compiler/OPB.Mod index cd3ae496..408eeaeb 100644 --- a/src/compiler/OPB.Mod +++ b/src/compiler/OPB.Mod @@ -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 diff --git a/src/tools/make/vishap.make b/src/tools/make/vishap.make index a56bebea..99e12608 100644 --- a/src/tools/make/vishap.make +++ b/src/tools/make/vishap.make @@ -20,6 +20,7 @@ FLAVOUR = $(OS).$(DATAMODEL).$(COMPILER) BUILDDIR = build/$(FLAVOUR) VISHAP = $(ONAME)$(BINEXT) +# MODEL=-O2 # Override model - build everything as S8,I16,L32.