Crudely tweak some of the prototypes to please clang, which is pickier about

K&R C than gcc is.
This commit is contained in:
David Given 2018-06-02 21:31:18 +02:00
parent 5a886787d3
commit 911ce7ceb5
3 changed files with 42 additions and 33 deletions

View file

@ -237,7 +237,6 @@ float_cst(str, sz, buf)
#endif /* USE_FLT */
#ifdef CODE_GENERATOR
void
con_float()
{
char buf[8];

View file

@ -22,27 +22,32 @@ static char rcsid[] = "$Id$";
extern string myalloc();
int rar[MAXCREG];
rl_p *lar;
rl_p* lar;
int maxindex;
int regclass[NREGS];
struct perm *perms;
struct perm* perms;
struct perm *
tuples(regls,nregneeded) rl_p *regls; {
int class=0;
register i,j;
void permute(int index);
struct perm* tuples(rl_p* regls, int nregneeded)
{
int class = 0;
register i, j;
/*
* First compute equivalence classes of registers.
*/
for (i=0;i<NREGS;i++) {
regclass[i] = class++;
if (getrefcount(i, FALSE) == 0) {
for (j=0;j<i;j++) {
if (eqregclass(i,j) &&
eqtoken(&machregs[i].r_contents,
&machregs[j].r_contents)) {
for (i = 0; i < NREGS; i++)
{
regclass[i] = class ++;
if (getrefcount(i, FALSE) == 0)
{
for (j = 0; j < i; j++)
{
if (eqregclass(i, j) && eqtoken(&machregs[i].r_contents,
&machregs[j].r_contents))
{
regclass[i] = regclass[j];
break;
}
@ -58,37 +63,42 @@ tuples(regls,nregneeded) rl_p *regls; {
lar = regls;
perms = 0;
permute(0);
return(perms);
return (perms);
}
permute(index) {
register struct perm *pp;
void permute(int index)
{
register struct perm* pp;
register rl_p rlp;
register i,j;
register i, j;
if (index == maxindex) {
for (pp=perms; pp != 0; pp=pp->p_next) {
for (i=0; i<maxindex; i++)
if (index == maxindex)
{
for (pp = perms; pp != 0; pp = pp->p_next)
{
for (i = 0; i < maxindex; i++)
if (regclass[rar[i]] != regclass[pp->p_rar[i]])
goto diff;
for (i=0; i<maxindex; i++)
for (j=0; j<i; j++)
if (clash(rar[i],rar[j]) !=
clash(pp->p_rar[i],pp->p_rar[j]))
for (i = 0; i < maxindex; i++)
for (j = 0; j < i; j++)
if (clash(rar[i], rar[j]) != clash(pp->p_rar[i], pp->p_rar[j]))
goto diff;
return;
diff: ;
diff:;
}
pp = (struct perm *) myalloc(sizeof ( *pp ));
pp = (struct perm*)myalloc(sizeof(*pp));
pp->p_next = perms;
for (i=0; i<maxindex; i++)
for (i = 0; i < maxindex; i++)
pp->p_rar[i] = rar[i];
perms = pp;
} else {
rlp=lar[index];
for (i=rlp->rl_n-1; i>=0; i--) {
}
else
{
rlp = lar[index];
for (i = rlp->rl_n - 1; i >= 0; i--)
{
rar[index] = rlp->rl_list[i];
permute(index+1);
permute(index + 1);
}
}
}

View file

@ -83,7 +83,7 @@ extern short em_ptyp[];
/* machine dependent */
void con_part(int, word);
void con_mult(word);
void con_float(void);
int con_float(void); /* actually returns void, but need K&R C compatibility */
void prolog(full nlocals);
void mes(word);