removed the limitation on number of include directories,

some bug fixes,
sets now have a constant and a variable part
This commit is contained in:
ceriel
1987-05-11 14:38:37 +00:00
parent b3d24d4ec2
commit 927a5636bd
10 changed files with 102 additions and 72 deletions

View File

@@ -140,6 +140,7 @@ CodeExpr(nd, ds, true_label, false_label)
ds->dsg_kind = DSG_LOADED;
break;
case Xset:
case Set: {
register arith *st = nd->nd_set;
register int i;
@@ -153,14 +154,10 @@ CodeExpr(nd, ds, true_label, false_label)
for (i = tp->tp_size / word_size, st += i; i > 0; i--) {
C_loc(*--st);
}
CodeSet(nd);
}
break;
case Xset:
CodeSet(nd);
ds->dsg_kind = DSG_LOADED;
break;
default:
crash("(CodeExpr) bad node type");
}
@@ -930,12 +927,11 @@ CodeSet(nd)
{
register struct type *tp = nd->nd_type;
C_zer(tp->tp_size); /* empty set */
nd = nd->nd_right;
while (nd) {
assert(nd->nd_class == Link && nd->nd_symb == ',');
CodeEl(nd->nd_left, tp);
if (nd->nd_left) CodeEl(nd->nd_left, tp);
nd = nd->nd_right;
}
}