Include int size in .sym files, fix __IN for out of range values, better naming.

This commit is contained in:
David Brown 2016-08-30 19:01:24 +01:00
parent a33e38cf6c
commit b3c71fb2f0
205 changed files with 1353 additions and 1325 deletions

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/08/26] for gcc LP64 on cygwin xtspkaSfF */
/* voc 1.95 [2016/08/30] for gcc LP64 on cygwin xtspkaSfF */
#define LARGE
#include "SYSTEM.h"
#include "OPM.h"
@ -35,9 +35,7 @@ export void OPB_In (OPT_Node *x, OPT_Node y);
export void OPB_Index (OPT_Node *x, OPT_Node y);
export void OPB_Inittd (OPT_Node *inittd, OPT_Node *last, OPT_Struct typ);
static BOOLEAN OPB_IntToBool (LONGINT i);
static OPT_Struct OPB_IntType (LONGINT size);
export void OPB_Link (OPT_Node *x, OPT_Node *last, OPT_Node y);
static LONGINT OPB_LongerSize (LONGINT i);
export void OPB_MOp (SHORTINT op, OPT_Node *x);
export OPT_Node OPB_NewBoolConst (BOOLEAN boolval);
export OPT_Node OPB_NewIntConst (LONGINT intval);
@ -54,8 +52,6 @@ export void OPB_Return (OPT_Node *x, OPT_Object proc);
export void OPB_SetElem (OPT_Node *x);
static void OPB_SetIntType (OPT_Node node);
export void OPB_SetRange (OPT_Node *x, OPT_Node y);
static LONGINT OPB_ShorterSize (LONGINT i);
static INTEGER OPB_SignedByteSize (LONGINT n);
export void OPB_StFct (OPT_Node *par0, SHORTINT fctno, INTEGER parno);
export void OPB_StPar0 (OPT_Node *par0, INTEGER fctno);
export void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno);
@ -225,68 +221,20 @@ OPT_Node OPB_EmptySet (void)
return _o_result;
}
static INTEGER OPB_SignedByteSize (LONGINT n)
static void OPB_SetIntType (OPT_Node node)
{
INTEGER _o_result;
INTEGER b;
if (n < 0) {
n = -(n + 1);
LONGINT n;
if (node->conval->intval >= 0) {
n = node->conval->intval;
} else {
n = -(node->conval->intval + 1);
}
b = 1;
while ((b < 8 && __ASH(n, -(__ASHL(b, 3) - 1)) != 0)) {
b += 1;
}
_o_result = b;
return _o_result;
}
static LONGINT OPB_ShorterSize (LONGINT i)
{
LONGINT _o_result;
if (i >= (SYSTEM_INT64)OPM_LIntSize) {
_o_result = OPM_IntSize;
return _o_result;
} else {
_o_result = OPM_SIntSize;
return _o_result;
}
__RETCHK;
}
static LONGINT OPB_LongerSize (LONGINT i)
{
LONGINT _o_result;
if (i <= (SYSTEM_INT64)OPM_SIntSize) {
_o_result = OPM_IntSize;
return _o_result;
} else {
_o_result = OPM_LIntSize;
return _o_result;
}
__RETCHK;
}
static OPT_Struct OPB_IntType (LONGINT size)
{
OPT_Struct _o_result;
OPT_Struct result = NIL;
if (size <= OPT_sinttyp->size) {
result = OPT_sinttyp;
} else if (size <= OPT_inttyp->size) {
result = OPT_inttyp;
} else {
result = OPT_linttyp;
}
if (size > OPT_linttyp->size) {
OPB_err(203);
}
_o_result = result;
return _o_result;
}
static void OPB_SetIntType (OPT_Node node)
{
node->typ = OPB_IntType(OPB_SignedByteSize(node->conval->intval));
node->typ = OPT_IntType(b);
}
OPT_Node OPB_NewIntConst (LONGINT intval)
@ -430,16 +378,16 @@ void OPB_Field (OPT_Node *x, OPT_Object y)
}
}
static struct TypTest__61 {
static struct TypTest__57 {
OPT_Node *x;
OPT_Object *obj;
BOOLEAN *guard;
struct TypTest__61 *lnk;
} *TypTest__61_s;
struct TypTest__57 *lnk;
} *TypTest__57_s;
static void GTT__62 (OPT_Struct t0, OPT_Struct t1);
static void GTT__58 (OPT_Struct t0, OPT_Struct t1);
static void GTT__62 (OPT_Struct t0, OPT_Struct t1)
static void GTT__58 (OPT_Struct t0, OPT_Struct t1)
{
OPT_Node node = NIL;
OPT_Struct t = NIL;
@ -452,54 +400,54 @@ static void GTT__62 (OPT_Struct t0, OPT_Struct t1)
t1 = t1->BaseTyp;
}
if (t1 == t0 || t0->form == 0) {
if (*TypTest__61_s->guard) {
OPB_BindNodes(5, NIL, &*TypTest__61_s->x, NIL);
(*TypTest__61_s->x)->readonly = (*TypTest__61_s->x)->left->readonly;
if (*TypTest__57_s->guard) {
OPB_BindNodes(5, NIL, &*TypTest__57_s->x, NIL);
(*TypTest__57_s->x)->readonly = (*TypTest__57_s->x)->left->readonly;
} else {
node = OPT_NewNode(11);
node->subcl = 16;
node->left = *TypTest__61_s->x;
node->obj = *TypTest__61_s->obj;
*TypTest__61_s->x = node;
node->left = *TypTest__57_s->x;
node->obj = *TypTest__57_s->obj;
*TypTest__57_s->x = node;
}
} else {
OPB_err(85);
}
} else if (t0 != t1) {
OPB_err(85);
} else if (!*TypTest__61_s->guard) {
if ((*TypTest__61_s->x)->class == 5) {
} else if (!*TypTest__57_s->guard) {
if ((*TypTest__57_s->x)->class == 5) {
node = OPT_NewNode(11);
node->subcl = 16;
node->left = *TypTest__61_s->x;
node->obj = *TypTest__61_s->obj;
*TypTest__61_s->x = node;
node->left = *TypTest__57_s->x;
node->obj = *TypTest__57_s->obj;
*TypTest__57_s->x = node;
} else {
*TypTest__61_s->x = OPB_NewBoolConst(1);
*TypTest__57_s->x = OPB_NewBoolConst(1);
}
}
}
void OPB_TypTest (OPT_Node *x, OPT_Object obj, BOOLEAN guard)
{
struct TypTest__61 _s;
struct TypTest__57 _s;
_s.x = x;
_s.obj = &obj;
_s.guard = &guard;
_s.lnk = TypTest__61_s;
TypTest__61_s = &_s;
_s.lnk = TypTest__57_s;
TypTest__57_s = &_s;
if (OPB_NotVar(*x)) {
OPB_err(112);
} else if ((*x)->typ->form == 13) {
if (((*x)->typ->BaseTyp->comp != 4 && (*x)->typ != OPT_sysptrtyp)) {
OPB_err(85);
} else if (obj->typ->form == 13) {
GTT__62((*x)->typ->BaseTyp, obj->typ->BaseTyp);
GTT__58((*x)->typ->BaseTyp, obj->typ->BaseTyp);
} else {
OPB_err(86);
}
} else if (((((*x)->typ->comp == 4 && (*x)->class == 1)) && obj->typ->comp == 4)) {
GTT__62((*x)->typ, obj->typ);
GTT__58((*x)->typ, obj->typ);
} else {
OPB_err(87);
}
@ -508,7 +456,7 @@ void OPB_TypTest (OPT_Node *x, OPT_Object obj, BOOLEAN guard)
} else {
(*x)->typ = OPT_booltyp;
}
TypTest__61_s = _s.lnk;
TypTest__57_s = _s.lnk;
}
void OPB_In (OPT_Node *x, OPT_Node y)
@ -574,13 +522,13 @@ static void OPB_CheckRealType (INTEGER f, INTEGER nr, OPT_Const x)
x->intval = -1;
}
static struct MOp__30 {
struct MOp__30 *lnk;
} *MOp__30_s;
static struct MOp__28 {
struct MOp__28 *lnk;
} *MOp__28_s;
static OPT_Node NewOp__31 (SHORTINT op, OPT_Struct typ, OPT_Node z);
static OPT_Node NewOp__29 (SHORTINT op, OPT_Struct typ, OPT_Node z);
static OPT_Node NewOp__31 (SHORTINT op, OPT_Struct typ, OPT_Node z)
static OPT_Node NewOp__29 (SHORTINT op, OPT_Struct typ, OPT_Node z)
{
OPT_Node _o_result;
OPT_Node node = NIL;
@ -597,9 +545,9 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
INTEGER f;
OPT_Struct typ = NIL;
OPT_Node z = NIL;
struct MOp__30 _s;
_s.lnk = MOp__30_s;
MOp__30_s = &_s;
struct MOp__28 _s;
_s.lnk = MOp__28_s;
MOp__28_s = &_s;
z = *x;
if (z->class == 8 || z->class == 9) {
OPB_err(126);
@ -613,7 +561,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
z->conval->intval = OPB_BoolToInt(!OPB_IntToBool(z->conval->intval));
z->obj = NIL;
} else {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
}
} else {
OPB_err(98);
@ -641,7 +589,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
}
z->obj = NIL;
} else {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
}
} else {
OPB_err(97);
@ -662,7 +610,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
}
z->obj = NIL;
} else {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
}
} else {
OPB_err(111);
@ -674,7 +622,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
z->conval->intval = (int)__CAP((CHAR)z->conval->intval);
z->obj = NIL;
} else {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
}
} else {
OPB_err(111);
@ -687,7 +635,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
z->conval->intval = OPB_BoolToInt(__ODD(z->conval->intval));
z->obj = NIL;
} else {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
}
} else {
OPB_err(111);
@ -700,7 +648,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
f = 10;
}
if (z->class < 7 || f == 10) {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
} else {
OPB_err(127);
}
@ -709,7 +657,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
case 25:
if ((__IN(f, 0x70) && z->class == 7)) {
if ((0 <= z->conval->intval && z->conval->intval <= -1)) {
z = NewOp__31(op, typ, z);
z = NewOp__29(op, typ, z);
} else {
OPB_err(219);
}
@ -726,7 +674,7 @@ void OPB_MOp (SHORTINT op, OPT_Node *x)
}
}
*x = z;
MOp__30_s = _s.lnk;
MOp__28_s = _s.lnk;
}
static void OPB_CheckPtr (OPT_Node x, OPT_Node y)
@ -922,7 +870,7 @@ static void OPB_ConstOp (INTEGER op, OPT_Node x, OPT_Node y)
if (x->typ->size <= y->typ->size) {
x->typ = y->typ;
} else {
x->typ = OPB_IntType(x->typ->size);
x->typ = OPT_IntType(x->typ->size);
}
} else if (g == 7) {
x->typ = OPT_realtyp;
@ -1179,7 +1127,7 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
if (__IN(g, 0x70)) {
if (f > g) {
OPB_SetIntType(*x);
if ((int)(*x)->typ->form > g) {
if ((*x)->typ->size > typ->size) {
OPB_err(203);
(*x)->conval->intval = 1;
}
@ -1220,15 +1168,15 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
(*x)->typ = typ;
}
static struct Op__40 {
static struct Op__38 {
INTEGER *f, *g;
struct Op__40 *lnk;
} *Op__40_s;
struct Op__38 *lnk;
} *Op__38_s;
static void NewOp__41 (SHORTINT op, OPT_Struct typ, OPT_Node *x, OPT_Node y);
static BOOLEAN strings__43 (OPT_Node *x, OPT_Node *y);
static void NewOp__39 (SHORTINT op, OPT_Struct typ, OPT_Node *x, OPT_Node y);
static BOOLEAN strings__41 (OPT_Node *x, OPT_Node *y);
static void NewOp__41 (SHORTINT op, OPT_Struct typ, OPT_Node *x, OPT_Node y)
static void NewOp__39 (SHORTINT op, OPT_Struct typ, OPT_Node *x, OPT_Node y)
{
OPT_Node node = NIL;
node = OPT_NewNode(12);
@ -1239,29 +1187,29 @@ static void NewOp__41 (SHORTINT op, OPT_Struct typ, OPT_Node *x, OPT_Node y)
*x = node;
}
static BOOLEAN strings__43 (OPT_Node *x, OPT_Node *y)
static BOOLEAN strings__41 (OPT_Node *x, OPT_Node *y)
{
BOOLEAN _o_result;
BOOLEAN ok, xCharArr, yCharArr;
xCharArr = (__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp->form == 3) || *Op__40_s->f == 10;
yCharArr = (__IN((*y)->typ->comp, 0x0c) && (*y)->typ->BaseTyp->form == 3) || *Op__40_s->g == 10;
if ((((xCharArr && *Op__40_s->g == 3)) && (*y)->class == 7)) {
xCharArr = (__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 10;
yCharArr = (__IN((*y)->typ->comp, 0x0c) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 10;
if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) {
OPB_CharToString(*y);
*Op__40_s->g = 10;
*Op__38_s->g = 10;
yCharArr = 1;
}
if ((((yCharArr && *Op__40_s->f == 3)) && (*x)->class == 7)) {
if ((((yCharArr && *Op__38_s->f == 3)) && (*x)->class == 7)) {
OPB_CharToString(*x);
*Op__40_s->f = 10;
*Op__38_s->f = 10;
xCharArr = 1;
}
ok = (xCharArr && yCharArr);
if (ok) {
if ((*Op__40_s->f == 10 && (*x)->conval->intval2 == 1)) {
if ((*Op__38_s->f == 10 && (*x)->conval->intval2 == 1)) {
(*x)->typ = OPT_chartyp;
(*x)->conval->intval = 0;
OPB_Index(&*y, OPB_NewIntConst(((LONGINT)(0))));
} else if ((*Op__40_s->g == 10 && (*y)->conval->intval2 == 1)) {
} else if ((*Op__38_s->g == 10 && (*y)->conval->intval2 == 1)) {
(*y)->typ = OPT_chartyp;
(*y)->conval->intval = 0;
OPB_Index(&*x, OPB_NewIntConst(((LONGINT)(0))));
@ -1278,11 +1226,11 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
OPT_Struct typ = NIL;
BOOLEAN do_;
LONGINT val;
struct Op__40 _s;
struct Op__38 _s;
_s.f = &f;
_s.g = &g;
_s.lnk = Op__40_s;
Op__40_s = &_s;
_s.lnk = Op__38_s;
Op__38_s = &_s;
z = *x;
if (((z->class == 8 || z->class == 9) || y->class == 8) || y->class == 9) {
OPB_err(126);
@ -1394,7 +1342,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
typ = OPT_undftyp;
}
if (do_) {
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
}
break;
case 2:
@ -1413,7 +1361,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
OPB_err(102);
typ = OPT_undftyp;
}
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
break;
case 3:
do_ = 1;
@ -1436,7 +1384,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
typ = OPT_undftyp;
}
if (do_) {
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
}
break;
case 4:
@ -1454,7 +1402,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
OPB_err(104);
typ = OPT_undftyp;
}
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
break;
case 5:
if (f == 2) {
@ -1464,7 +1412,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
}
} else if ((y->class == 7 && OPB_IntToBool(y->conval->intval))) {
} else {
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
}
} else if (f != 0) {
OPB_err(94);
@ -1487,7 +1435,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
}
}
if (do_) {
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
}
break;
case 7:
@ -1496,7 +1444,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
typ = OPT_undftyp;
}
if ((!__IN(f, 0x70) || y->class != 7) || y->conval->intval != 0) {
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
}
break;
case 8:
@ -1507,7 +1455,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
}
} else if ((y->class == 7 && !OPB_IntToBool(y->conval->intval))) {
} else {
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
}
} else if (f != 0) {
OPB_err(95);
@ -1515,16 +1463,16 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
}
break;
case 9: case 10:
if (__IN(f, 0x6bff) || strings__43(&z, &y)) {
if (__IN(f, 0x6bff) || strings__41(&z, &y)) {
typ = OPT_booltyp;
} else {
OPB_err(107);
typ = OPT_undftyp;
}
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
break;
case 11: case 12: case 13: case 14:
if (__IN(f, 0x01f9) || strings__43(&z, &y)) {
if (__IN(f, 0x01f9) || strings__41(&z, &y)) {
typ = OPT_booltyp;
} else {
OPM_LogWLn();
@ -1533,7 +1481,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
OPB_err(108);
typ = OPT_undftyp;
}
NewOp__41(op, typ, &z, y);
NewOp__39(op, typ, &z, y);
break;
default:
OPM_LogWStr((CHAR*)"unhandled case in OPB.Op, op = ", (LONGINT)32);
@ -1543,7 +1491,7 @@ void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y)
}
}
*x = z;
Op__40_s = _s.lnk;
Op__38_s = _s.lnk;
}
void OPB_SetRange (OPT_Node *x, OPT_Node y)
@ -1895,8 +1843,13 @@ void OPB_StPar0 (OPT_Node *par0, INTEGER fctno)
case 10:
if (x->class == 8 || x->class == 9) {
OPB_err(126);
} else if ((__IN(f, 0x70) && x->typ->size > (SYSTEM_INT64)OPM_SIntSize)) {
OPB_Convert(&x, OPB_IntType(OPB_ShorterSize(x->typ->size)));
} else if (__IN(f, 0x70)) {
typ = OPT_ShorterOrLongerType(x->typ, -1);
if (typ == NIL) {
OPB_err(111);
} else {
OPB_Convert(&x, typ);
}
} else if (f == 8) {
OPB_Convert(&x, OPT_realtyp);
} else {
@ -1906,8 +1859,13 @@ void OPB_StPar0 (OPT_Node *par0, INTEGER fctno)
case 11:
if (x->class == 8 || x->class == 9) {
OPB_err(126);
} else if ((__IN(f, 0x70) && x->typ->size < (SYSTEM_INT64)OPM_LIntSize)) {
OPB_Convert(&x, OPB_IntType(OPB_LongerSize(x->typ->size)));
} else if (__IN(f, 0x70)) {
typ = OPT_ShorterOrLongerType(x->typ, 1);
if (typ == NIL) {
OPB_err(111);
} else {
OPB_Convert(&x, typ);
}
} else if (f == 7) {
OPB_Convert(&x, OPT_lrltyp);
} else if (f == 3) {
@ -2044,13 +2002,13 @@ void OPB_StPar0 (OPT_Node *par0, INTEGER fctno)
*par0 = x;
}
static struct StPar1__56 {
struct StPar1__56 *lnk;
} *StPar1__56_s;
static struct StPar1__52 {
struct StPar1__52 *lnk;
} *StPar1__52_s;
static OPT_Node NewOp__57 (SHORTINT class, SHORTINT subcl, OPT_Node left, OPT_Node right);
static OPT_Node NewOp__53 (SHORTINT class, SHORTINT subcl, OPT_Node left, OPT_Node right);
static OPT_Node NewOp__57 (SHORTINT class, SHORTINT subcl, OPT_Node left, OPT_Node right)
static OPT_Node NewOp__53 (SHORTINT class, SHORTINT subcl, OPT_Node left, OPT_Node right)
{
OPT_Node _o_result;
OPT_Node node = NIL;
@ -2067,9 +2025,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
INTEGER f, L;
OPT_Struct typ = NIL;
OPT_Node p = NIL, t = NIL;
struct StPar1__56 _s;
_s.lnk = StPar1__56_s;
StPar1__56_s = &_s;
struct StPar1__52 _s;
_s.lnk = StPar1__52_s;
StPar1__52_s = &_s;
p = *par0;
f = x->typ->form;
switch (fctno) {
@ -2085,7 +2043,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
OPB_err(111);
}
}
p = NewOp__57(19, fctno, p, x);
p = NewOp__53(19, fctno, p, x);
p->typ = OPT_notyp;
}
break;
@ -2096,7 +2054,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
if ((x->class == 7 && (0 > x->conval->intval || x->conval->intval > (SYSTEM_INT64)OPM_MaxSet))) {
OPB_err(202);
}
p = NewOp__57(19, fctno, p, x);
p = NewOp__53(19, fctno, p, x);
} else {
OPB_err(111);
}
@ -2121,7 +2079,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
p = p->left;
x->conval->intval += 1;
}
p = NewOp__57(12, 19, p, x);
p = NewOp__53(12, 19, p, x);
p->typ = OPT_linttyp;
} else {
p = x;
@ -2143,7 +2101,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
t = x;
x = p;
p = t;
p = NewOp__57(19, 18, p, x);
p = NewOp__53(19, 18, p, x);
} else {
OPB_err(111);
}
@ -2169,7 +2127,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
}
p->obj = NIL;
} else {
p = NewOp__57(12, 17, p, x);
p = NewOp__53(12, 17, p, x);
p->typ = OPT_linttyp;
}
} else {
@ -2200,9 +2158,9 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
OPB_err(111);
} else {
if (fctno == 22) {
p = NewOp__57(12, 27, p, x);
p = NewOp__53(12, 27, p, x);
} else {
p = NewOp__57(12, 28, p, x);
p = NewOp__53(12, 28, p, x);
}
p->typ = p->left->typ;
}
@ -2219,7 +2177,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
x = p;
p = t;
}
p = NewOp__57(19, fctno, p, x);
p = NewOp__53(19, fctno, p, x);
} else {
OPB_err(111);
}
@ -2229,7 +2187,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
if (x->class == 8 || x->class == 9) {
OPB_err(126);
} else if (__IN(f, 0x70)) {
p = NewOp__57(12, 26, p, x);
p = NewOp__53(12, 26, p, x);
} else {
OPB_err(111);
}
@ -2253,7 +2211,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
if (x->class == 8 || x->class == 9) {
OPB_err(126);
} else if (__IN(f, 0x70)) {
p = NewOp__57(19, 30, p, x);
p = NewOp__53(19, 30, p, x);
} else {
OPB_err(111);
}
@ -2299,7 +2257,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno)
break;
}
*par0 = p;
StPar1__56_s = _s.lnk;
StPar1__52_s = _s.lnk;
}
void OPB_StParN (OPT_Node *par0, OPT_Node x, INTEGER fctno, INTEGER n)