Changed use of word_align: it now only indicates the alignment on
which word-operations are allowed to take place
This commit is contained in:
parent
36b86a6b9a
commit
2b231f7815
@ -482,7 +482,7 @@ EVAL(expr, val, code, true_label, false_label)
|
|||||||
if (gencode) {
|
if (gencode) {
|
||||||
if (is_struct_or_union(tp->tp_fund)) {
|
if (is_struct_or_union(tp->tp_fund)) {
|
||||||
C_lfr(pointer_size);
|
C_lfr(pointer_size);
|
||||||
load_block(tp->tp_size, word_align);
|
load_block(tp->tp_size, (int) word_size);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
C_lfr(ATW(tp->tp_size));
|
C_lfr(ATW(tp->tp_size));
|
||||||
|
|||||||
@ -414,9 +414,9 @@ add_field(szp, fd, fdtpp, idf, stp)
|
|||||||
/* align this selector on the next boundary :
|
/* align this selector on the next boundary :
|
||||||
the previous selector wasn't a bitfield.
|
the previous selector wasn't a bitfield.
|
||||||
*/
|
*/
|
||||||
field_offset = align(*szp, word_align);
|
field_offset = align(*szp, int_align);
|
||||||
*szp = field_offset + word_size;
|
*szp = field_offset + int_size;
|
||||||
stp->tp_align = lcm(stp->tp_align, word_align);
|
stp->tp_align = lcm(stp->tp_align, int_align);
|
||||||
bits_declared = (arith)0;
|
bits_declared = (arith)0;
|
||||||
field_busy = 1;
|
field_busy = 1;
|
||||||
}
|
}
|
||||||
@ -424,9 +424,9 @@ add_field(szp, fd, fdtpp, idf, stp)
|
|||||||
if (fd->fd_width > bits_in_type - bits_declared) {
|
if (fd->fd_width > bits_in_type - bits_declared) {
|
||||||
/* field overflow: fetch next memory unit
|
/* field overflow: fetch next memory unit
|
||||||
*/
|
*/
|
||||||
field_offset = align(*szp, word_align);
|
field_offset = align(*szp, int_align);
|
||||||
*szp = field_offset + word_size;
|
*szp = field_offset + int_size;
|
||||||
stp->tp_align = lcm(stp->tp_align, word_align);
|
stp->tp_align = lcm(stp->tp_align, int_align);
|
||||||
bits_declared = fd->fd_width;
|
bits_declared = fd->fd_width;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user