name changes, fix in computation of set sizes
This commit is contained in:
parent
e0f737c293
commit
de55f34bbd
3 changed files with 17 additions and 17 deletions
|
@ -48,7 +48,7 @@ struct switch_hdr {
|
||||||
/* STATICALLOCDEF "switch_hdr" 5 */
|
/* STATICALLOCDEF "switch_hdr" 5 */
|
||||||
|
|
||||||
struct case_entry {
|
struct case_entry {
|
||||||
struct case_entry *next; /* next in list */
|
struct case_entry *ce_next; /* next in list */
|
||||||
label ce_label; /* generated label */
|
label ce_label; /* generated label */
|
||||||
arith ce_value; /* value of case label */
|
arith ce_value; /* value of case label */
|
||||||
};
|
};
|
||||||
|
@ -143,7 +143,7 @@ CaseCode(nd, exitlabel)
|
||||||
assert(ce);
|
assert(ce);
|
||||||
if (val == ce->ce_value) {
|
if (val == ce->ce_value) {
|
||||||
C_rom_ilb(ce->ce_label);
|
C_rom_ilb(ce->ce_label);
|
||||||
ce = ce->next;
|
ce = ce->ce_next;
|
||||||
}
|
}
|
||||||
else if (sh->sh_default) C_rom_ilb(sh->sh_default);
|
else if (sh->sh_default) C_rom_ilb(sh->sh_default);
|
||||||
else C_rom_ucon("0", pointer_size);
|
else C_rom_ucon("0", pointer_size);
|
||||||
|
@ -155,7 +155,7 @@ CaseCode(nd, exitlabel)
|
||||||
/* CSB
|
/* CSB
|
||||||
*/
|
*/
|
||||||
C_rom_cst((arith)sh->sh_nrofentries);
|
C_rom_cst((arith)sh->sh_nrofentries);
|
||||||
for (ce = sh->sh_entries; ce; ce = ce->next) {
|
for (ce = sh->sh_entries; ce; ce = ce->ce_next) {
|
||||||
/* generate the entries: value + prog.label
|
/* generate the entries: value + prog.label
|
||||||
*/
|
*/
|
||||||
C_rom_cst(ce->ce_value);
|
C_rom_cst(ce->ce_value);
|
||||||
|
@ -201,7 +201,7 @@ FreeSh(sh)
|
||||||
|
|
||||||
ce = sh->sh_entries;
|
ce = sh->sh_entries;
|
||||||
while (ce) {
|
while (ce) {
|
||||||
struct case_entry *tmp = ce->next;
|
struct case_entry *tmp = ce->ce_next;
|
||||||
|
|
||||||
free_case_entry(ce);
|
free_case_entry(ce);
|
||||||
ce = tmp;
|
ce = tmp;
|
||||||
|
@ -260,7 +260,7 @@ AddOneCase(sh, node, lbl)
|
||||||
if (sh->sh_entries == 0) {
|
if (sh->sh_entries == 0) {
|
||||||
/* first case entry
|
/* first case entry
|
||||||
*/
|
*/
|
||||||
ce->next = (struct case_entry *) 0;
|
ce->ce_next = (struct case_entry *) 0;
|
||||||
sh->sh_entries = ce;
|
sh->sh_entries = ce;
|
||||||
sh->sh_lowerbd = sh->sh_upperbd = ce->ce_value;
|
sh->sh_lowerbd = sh->sh_upperbd = ce->ce_value;
|
||||||
sh->sh_nrofentries = 1;
|
sh->sh_nrofentries = 1;
|
||||||
|
@ -278,7 +278,7 @@ AddOneCase(sh, node, lbl)
|
||||||
}
|
}
|
||||||
while (c1 && c1->ce_value < ce->ce_value) {
|
while (c1 && c1->ce_value < ce->ce_value) {
|
||||||
c2 = c1;
|
c2 = c1;
|
||||||
c1 = c1->next;
|
c1 = c1->ce_next;
|
||||||
}
|
}
|
||||||
/* At this point three cases are possible:
|
/* At this point three cases are possible:
|
||||||
1: c1 != 0 && c2 != 0:
|
1: c1 != 0 && c2 != 0:
|
||||||
|
@ -297,19 +297,19 @@ node_error(node, "multiple case entry for value %ld", ce->ce_value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (c2) {
|
if (c2) {
|
||||||
ce->next = c2->next;
|
ce->ce_next = c2->ce_next;
|
||||||
c2->next = ce;
|
c2->ce_next = ce;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ce->next = sh->sh_entries;
|
ce->ce_next = sh->sh_entries;
|
||||||
sh->sh_entries = ce;
|
sh->sh_entries = ce;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
assert(c2);
|
assert(c2);
|
||||||
|
|
||||||
ce->next = (struct case_entry *) 0;
|
ce->ce_next = (struct case_entry *) 0;
|
||||||
c2->next = ce;
|
c2->ce_next = ce;
|
||||||
}
|
}
|
||||||
(sh->sh_nrofentries)++;
|
(sh->sh_nrofentries)++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
struct tmpvar {
|
struct tmpvar {
|
||||||
struct tmpvar *next;
|
struct tmpvar *t_next;
|
||||||
arith t_offset; /* offset from LocalBase */
|
arith t_offset; /* offset from LocalBase */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ NewTmp(plist, sz, al, regtype)
|
||||||
else {
|
else {
|
||||||
tmp = *plist;
|
tmp = *plist;
|
||||||
offset = tmp->t_offset;
|
offset = tmp->t_offset;
|
||||||
*plist = tmp->next;
|
*plist = tmp->t_next;
|
||||||
free_tmpvar(tmp);
|
free_tmpvar(tmp);
|
||||||
}
|
}
|
||||||
return offset;
|
return offset;
|
||||||
|
@ -99,7 +99,7 @@ FreeTmp(plist, off)
|
||||||
{
|
{
|
||||||
register struct tmpvar *tmp = new_tmpvar();
|
register struct tmpvar *tmp = new_tmpvar();
|
||||||
|
|
||||||
tmp->next = *plist;
|
tmp->t_next = *plist;
|
||||||
tmp->t_offset = off;
|
tmp->t_offset = off;
|
||||||
*plist = tmp;
|
*plist = tmp;
|
||||||
}
|
}
|
||||||
|
@ -123,13 +123,13 @@ TmpClose()
|
||||||
tmp = TmpInts;
|
tmp = TmpInts;
|
||||||
while (tmp) {
|
while (tmp) {
|
||||||
tmp1 = tmp;
|
tmp1 = tmp;
|
||||||
tmp = tmp->next;
|
tmp = tmp->t_next;
|
||||||
free_tmpvar(tmp1);
|
free_tmpvar(tmp1);
|
||||||
}
|
}
|
||||||
tmp = TmpPtrs;
|
tmp = TmpPtrs;
|
||||||
while (tmp) {
|
while (tmp) {
|
||||||
tmp1 = tmp;
|
tmp1 = tmp;
|
||||||
tmp = tmp->next;
|
tmp = tmp->t_next;
|
||||||
free_tmpvar(tmp1);
|
free_tmpvar(tmp1);
|
||||||
}
|
}
|
||||||
TmpInts = TmpPtrs = 0;
|
TmpInts = TmpPtrs = 0;
|
||||||
|
|
|
@ -458,7 +458,7 @@ set_type(tp)
|
||||||
}
|
}
|
||||||
|
|
||||||
tp = construct_type(T_SET, tp);
|
tp = construct_type(T_SET, tp);
|
||||||
tp->tp_size = WA((ub - lb + 8) >> 3);
|
tp->tp_size = WA((ub + 8) >> 3);
|
||||||
return tp;
|
return tp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue