some arith variables changed into int

This commit is contained in:
ceriel 1989-11-21 11:28:56 +00:00
parent c6134a1f59
commit 01b937d82e

View file

@ -325,10 +325,14 @@ add_field(szp, fd, fdtpp, idf, stp)
an explicit alignment is given, a new address is needed.
Note that the fields are packed into machine words.
*/
long bits_in_type = word_size * 8;
#ifdef word_size
#define bits_in_type ((int)(8*word_size))
#else
int bits_in_type = (int)word_size * 8;
#endif
static int field_offset = (arith)0;
static struct type *current_struct = 0;
static long bits_declared; /* nr of bits used in *field_offset */
static int bits_declared; /* nr of bits used in *field_offset */
if (current_struct != stp) {
/* This struct differs from the last one
@ -354,7 +358,7 @@ add_field(szp, fd, fdtpp, idf, stp)
strict("non-portable field type");
case INT:
/* right type; size OK? */
if ((*fdtpp)->tp_size > word_size) {
if ((int) (*fdtpp)->tp_size > (int) word_size) {
error("bit field type %s does not fit in a word",
symbol2str((*fdtpp)->tp_fund));
*fdtpp = error_type;
@ -377,7 +381,7 @@ add_field(szp, fd, fdtpp, idf, stp)
field_offset = align(*szp, int_align);
*szp = field_offset + int_size;
stp->tp_align = lcm(stp->tp_align, int_align);
bits_declared = (arith)0;
bits_declared = 0;
field_busy = 1;
}
@ -419,7 +423,7 @@ add_field(szp, fd, fdtpp, idf, stp)
else /* adjust the field at the left */
fd->fd_shift = bits_in_type - bits_declared;
if (stp->tp_fund == UNION) bits_declared = (arith)0;
if (stp->tp_fund == UNION) bits_declared = 0;
return field_offset;
}