#include "atw.h"
#include "assert.h"
#include "LLlex.h"
+#include "align.h"
#ifdef LINT
#include "l_lint.h"
#endif /* LINT */
C_df_dlb((label)df->df_address);
} else {
C_lae_dlb((label)df->df_address, (arith)0);
- load_block(tp->tp_size, 1);
+ load_block(tp->tp_size, word_align);
if (unknownsize) {
/* tmpoffset += tp->tp_size; */
unknownsize = 0;
, df->df_sc);
}
C_lal(tmpoffset);
- store_block(tp->tp_size, 1);
+ store_block(tp->tp_size, tmpoffset % word_align ? 1 : word_align);
df->df_address = tmpoffset;
tmpoffset = 0;
}
idf->id_text);
/** type = idf->id_def->df_type = int_type; **/
}
- newdef->df_address =
+ if (type->tp_size != (arith) -1) {
+ newdef->df_address =
NewLocal(type->tp_size,
type->tp_align,
regtype(type),
sc);
+ }
break;
case STATIC:
newdef->df_address = (arith) data_label();