size = ATW(func_tp->tp_size);
C_pro_narg(name);
if (is_struct_or_union(func_tp->tp_fund)) {
- C_ndlb(func_res_label = data_label());
+ C_df_dlb(func_res_label = data_label());
C_bss_cst(size, (arith)0, 1);
}
else
if (options['p']) { /* profiling */
if (strcmp(last_fn_given, FileName) != 0) {
/* previous function came from other file */
- C_ndlb(file_name_label = data_label());
+ C_df_dlb(file_name_label = data_label());
C_con_begin();
- C_co_scon(last_fn_given = FileName, (arith)0);
+ C_scon(last_fn_given = FileName, (arith)0);
C_con_end();
}
/* enable debug trace of EM source */
- C_fil_ndlb(file_name_label, (arith)0);
+ C_fil_dlb(file_name_label, (arith)0);
C_lin((arith)LineNumber);
}
}
#endif DATAFLOW
C_ret((arith)0);
if (return_expr_occurred != 0) {
- C_ilb(return_label);
+ C_df_ilb(return_label);
if (func_res_label != 0) {
- C_lae_ndlb(func_res_label, (arith)0);
+ C_lae_dlb(func_res_label, (arith)0);
store_block(func_tp->tp_size, func_tp->tp_align);
- C_lae_ndlb(func_res_label, (arith)0);
+ C_lae_dlb(func_res_label, (arith)0);
C_ret(pointer_size);
}
else
code_scope(text, def);
#endif USE_TMP
def->df_alloc = ALLOC_DONE;
- C_dnam(text);
+ C_df_dnam(text);
do_ival(&(def->df_type), expr);
}
}
/* they are handled on the spot and get an
integer label in EM.
*/
- C_ndlb((label)def->df_address);
+ C_df_dlb((label)def->df_address);
if (expr) /* there is an initialisation */
do_ival(&(def->df_type), expr);
else { /* produce blank space */
*/
if (options['R'] && size == 0)
warning("actual array of size 0");
- C_dnam(idf->id_text);
+ C_df_dnam(idf->id_text);
C_bss_cst(align(size, word_align), (arith)0, 1);
}
C_dvf(p) | arith p; | OP(op_dvf), CST(p)
C_dvi(p) | arith p; | OP(op_dvi), CST(p)
C_dvu(p) | arith p; | OP(op_dvu), CST(p)
-C_fil_ndlb(l, o) | label l; arith o; | OP(op_fil), DOFF(l, o)
+C_fil_dlb(l, o) | label l; arith o; | OP(op_fil), DOFF(l, o)
C_ior(p) | arith p; | OP(op_ior), CST(p)
C_lae_dnam(p, o) | char *p; arith o; | OP(op_lae), NOFF(p, o)
-C_lae_ndlb(l, o) | label l; arith o; | OP(op_lae), DOFF(l, o)
+C_lae_dlb(l, o) | label l; arith o; | OP(op_lae), DOFF(l, o)
C_lal(p) | arith p; | OP(op_lal), CST(p)
C_ldc(p) | arith p; | OP(op_ldc), DCST(p)
C_lde_dnam(p, o) | char *p; arith o; | OP(op_lde), NOFF(p, o)
-C_lde_ndlb(l, o) | label l; arith o; | OP(op_lde), DOFF(l, o)
+C_lde_dlb(l, o) | label l; arith o; | OP(op_lde), DOFF(l, o)
C_ldl(p) | arith p; | OP(op_ldl), CST(p)
C_lfr(p) | arith p; | OP(op_lfr), CST(p)
C_lin(p) | arith p; | OP(op_lin), CST(p)
C_loc(p) | arith p; | OP(op_loc), CST(p)
C_loe_dnam(p, o) | char *p; arith o; | OP(op_loe), NOFF(p, o)
-C_loe_ndlb(l, o) | label l; arith o; | OP(op_loe), DOFF(l, o)
+C_loe_dlb(l, o) | label l; arith o; | OP(op_loe), DOFF(l, o)
C_loi(p) | arith p; | OP(op_loi), CST(p)
C_lol(p) | arith p; | OP(op_lol), CST(p)
C_lor(p) | arith p; | OP(op_lor), CST(p)
C_sbs(p) | arith p; | OP(op_sbs), CST(p)
C_sbu(p) | arith p; | OP(op_sbu), CST(p)
C_sde_dnam(p, o) | char *p; arith o; | OP(op_sde), NOFF(p, o)
-C_sde_ndlb(l, o) | label l; arith o; | OP(op_sde), DOFF(l, o)
+C_sde_dlb(l, o) | label l; arith o; | OP(op_sde), DOFF(l, o)
C_sdl(p) | arith p; | OP(op_sdl), CST(p)
C_sli(p) | arith p; | OP(op_sli), CST(p)
C_slu(p) | arith p; | OP(op_slu), CST(p)
C_sri(p) | arith p; | OP(op_sri), CST(p)
C_sru(p) | arith p; | OP(op_sru), CST(p)
C_ste_dnam(p, o) | char *p; arith o; | OP(op_ste), NOFF(p, o)
-C_ste_ndlb(l, o) | label l; arith o; | OP(op_ste), DOFF(l, o)
+C_ste_dlb(l, o) | label l; arith o; | OP(op_ste), DOFF(l, o)
C_sti(p) | arith p; | OP(op_sti), CST(p)
C_stl(p) | arith p; | OP(op_stl), CST(p)
C_xor(p) | arith p; | OP(op_xor), CST(p)
C_zlt(l) | label l; | OP(op_zlt), CST((arith)l)
C_zne(l) | label l; | OP(op_zne), CST((arith)l)
%
-C_ndlb(l) | label l; | DLB(l)
-C_dnam(s) | char *s; | DNAM(s)
-C_ilb(l) | label l; | ILB(l)
+C_df_dlb(l) | label l; | DLB(l)
+C_df_dnam(s) | char *s; | DNAM(s)
+C_df_ilb(l) | label l; | ILB(l)
%
C_bss_cst(n, w, i) | arith n, w; int i; |
PS(ps_bss), DCST(n), CST(w), CST((arith)i)
C_con_end() | | CEND()
C_rom_begin() | | DC_start(ps_rom), PS(ps_rom)
C_rom_end() | | CEND()
-C_co_cst(l) | arith l; | DC_check(), CST(l)
-C_co_icon(val, siz) | char *val; arith siz; |
+C_cst(l) | arith l; | DC_check(), CST(l)
+C_icon(val, siz) | char *val; arith siz; |
DC_check(), WCON(sp_icon, val, siz)
-C_co_ucon(val, siz) | char *val; arith siz; |
+C_ucon(val, siz) | char *val; arith siz; |
DC_check(), WCON(sp_ucon, val, siz)
-C_co_fcon(val, siz) | char *val; arith siz; |
+C_fcon(val, siz) | char *val; arith siz; |
DC_check(), WCON(sp_fcon, val, siz)
-C_co_scon(str, siz) | char *str; arith siz; | DC_check(), CSTR(str)
-C_co_dnam(str, val) | char *str; arith val; | DC_check(), NOFF(str, val)
-C_co_ndlb(l, val) | label l; arith val; | DC_check(), DOFF(l, val)
-C_co_pnam(str) | char *str; | DC_check(), PNAM(str)
-C_co_ilb(l) | label l; | DC_check(), ILB(l)
+C_scon(str, siz) | char *str; arith siz; | DC_check(), CSTR(str)
+C_dnam(str, val) | char *str; arith val; | DC_check(), NOFF(str, val)
+C_dlb(l, val) | label l; arith val; | DC_check(), DOFF(l, val)
+C_pnam(str) | char *str; | DC_check(), PNAM(str)
+C_ilb(l) | label l; | DC_check(), ILB(l)
%
C_pro_narg(p1) | char *p1; | PS(ps_pro), PNAM(p1), CEND()
C_end(l) | arith l; | PS(ps_end), CST(l)
if (gencode) {
label datlab = data_label();
- C_ndlb(datlab);
+ C_df_dlb(datlab);
C_con_begin();
- C_co_scon(expr->SG_VALUE, (arith)0);
+ C_scon(expr->SG_VALUE, (arith)0);
C_con_end();
- C_lae_ndlb(datlab, (arith)0);
+ C_lae_dlb(datlab, (arith)0);
}
break;
if (gencode) {
label datlab = data_label();
- C_ndlb(datlab);
+ C_df_dlb(datlab);
C_rom_begin();
- C_co_fcon(expr->FL_VALUE, expr->ex_type->tp_size);
+ C_fcon(expr->FL_VALUE, expr->ex_type->tp_size);
C_rom_end();
- C_lae_ndlb(datlab, (arith)0);
+ C_lae_dlb(datlab, (arith)0);
C_loi(expr->ex_type->tp_size);
}
break;
compare(oper, l_true);
C_loc((arith)0);
C_bra(l_end);
- C_ilb(l_true);
+ C_df_ilb(l_true);
C_loc((arith)1);
- C_ilb(l_end);
+ C_df_ilb(l_end);
}
}
break;
label l_end = text_label();
EVAL(leftop, RVAL, TRUE, l_true, l_false);
- C_ilb(l_true);
+ C_df_ilb(l_true);
EVAL(rightop->OP_LEFT, RVAL, code, NO_LABEL, NO_LABEL);
C_bra(l_end);
- C_ilb(l_false);
+ C_df_ilb(l_false);
EVAL(rightop->OP_RIGHT, RVAL, code, NO_LABEL, NO_LABEL);
- C_ilb(l_end);
+ C_df_ilb(l_end);
break;
}
case AND:
label l_end = text_label();
EVAL(leftop, RVAL, TRUE, l_maybe, l_false);
- C_ilb(l_maybe);
+ C_df_ilb(l_maybe);
if (gencode) {
EVAL(rightop, RVAL, TRUE,
l_true, l_false);
- C_ilb(l_true);
+ C_df_ilb(l_true);
C_loc((arith)1);
C_bra(l_end);
- C_ilb(l_false);
+ C_df_ilb(l_false);
C_loc((arith)0);
- C_ilb(l_end);
+ C_df_ilb(l_end);
}
else {
EVAL(rightop, RVAL, FALSE, l_false,
l_false);
- C_ilb(l_false);
+ C_df_ilb(l_false);
}
}
else {
label l_maybe = text_label();
EVAL(leftop, RVAL, TRUE, l_maybe, false_label);
- C_ilb(l_maybe);
+ C_df_ilb(l_maybe);
EVAL(rightop, RVAL, code, true_label,
false_label);
}
label l_end = text_label();
EVAL(leftop, RVAL, TRUE, l_true, l_maybe);
- C_ilb(l_maybe);
+ C_df_ilb(l_maybe);
if (gencode) {
EVAL(rightop, RVAL, TRUE,
l_true, l_false);
- C_ilb(l_false);
+ C_df_ilb(l_false);
C_loc((arith)0);
C_bra(l_end);
- C_ilb(l_true);
+ C_df_ilb(l_true);
C_loc((arith)1);
- C_ilb(l_end);
+ C_df_ilb(l_end);
}
else {
EVAL(rightop, RVAL, FALSE, l_true,
l_true);
- C_ilb(l_true);
+ C_df_ilb(l_true);
}
}
else {
label l_maybe = text_label();
EVAL(leftop, RVAL, TRUE, true_label, l_maybe);
- C_ilb(l_maybe);
+ C_df_ilb(l_maybe);
EVAL(rightop, RVAL, code, true_label,
false_label);
}
EVAL(rightop, RVAL, TRUE,
l_false, l_true);
- C_ilb(l_false);
+ C_df_ilb(l_false);
C_loc((arith)0);
C_bra(l_end);
- C_ilb(l_true);
+ C_df_ilb(l_true);
C_loc((arith)1);
- C_ilb(l_end);
+ C_df_ilb(l_end);
}
else
EVAL(rightop, RVAL, FALSE,
else
if (df->df_sc == STATIC) {
if (inword)
- C_ste_ndlb((label)df->df_address, offs);
+ C_ste_dlb((label)df->df_address, offs);
else
if (indword)
- C_sde_ndlb((label)df->df_address, offs);
+ C_sde_dlb((label)df->df_address, offs);
else {
- C_lae_ndlb((label)df->df_address, offs);
+ C_lae_dlb((label)df->df_address, offs);
store_block(size, tpalign);
}
}
if (df->df_sc == STATIC) {
if (rvalue) {
if (size == word_size && al_on_word)
- C_loe_ndlb((label)df->df_address, exval);
+ C_loe_dlb((label)df->df_address, exval);
else
if (size == dword_size && al_on_word)
- C_lde_ndlb((label)df->df_address, exval);
+ C_lde_dlb((label)df->df_address, exval);
else {
- C_lae_ndlb((label)df->df_address, exval);
+ C_lae_dlb((label)df->df_address, exval);
load_block(size, tpalign);
}
}
else {
- C_lae_ndlb((label)df->df_address, (arith)0);
+ C_lae_dlb((label)df->df_address, (arith)0);
C_adp(exval);
}
}
else {
label datlab;
- C_ndlb(datlab = data_label());
+ C_df_dlb(datlab = data_label());
C_rom_begin();
- C_co_icon(itos(val), siz);
+ C_icon(itos(val), siz);
C_rom_end();
- C_lae_ndlb(datlab, (arith)0);
+ C_lae_dlb(datlab, (arith)0);
C_loi(siz);
}
}
extern char *symbol2str();
-#define con_byte(c) C_co_ucon(itos((long)(c) & 0xFF), (arith)1)
+#define con_byte(c) C_ucon(itos((long)(c) & 0xFF), (arith)1)
struct expr *do_array(), *do_struct(), *IVAL();
struct expr *strings = 0; /* list of string constants within initialiser */
*/
C_con_end();
while (strings != 0) {
- C_ndlb(strings->SG_DATLAB);
+ C_df_dlb(strings->SG_DATLAB);
C_con_begin();
- C_co_scon(strings->SG_VALUE, (arith)0);
+ C_scon(strings->SG_VALUE, (arith)0);
C_con_end();
strings = strings->next;
}
case CHAR:
case ENUM:
case POINTER:
- C_co_ucon("0", tp->tp_size);
+ C_ucon("0", tp->tp_size);
break;
case FLOAT:
case DOUBLE:
- C_co_fcon("0", tp->tp_size);
+ C_fcon("0", tp->tp_size);
break;
case UNION:
error("initialisation of unions not allowed");
ConStarted = 1;
}
if (expr->ex_class == Float)
- C_co_fcon(expr->FL_VALUE, expr->ex_type->tp_size);
+ C_fcon(expr->FL_VALUE, expr->ex_type->tp_size);
else
if (expr->ex_class == Oper && expr->OP_OPER == INT2FLOAT) {
expr = expr->OP_RIGHT;
if (expr->ex_class == Value && expr->VL_IDF == 0)
- C_co_fcon(itos(expr->VL_VALUE), type->tp_size);
+ C_fcon(itos(expr->VL_VALUE), type->tp_size);
else
illegal_init_cst(expr);
}
ConStarted = 1; /* ??? */
C_ina_pt(datlab);
C_con_begin();
- C_co_ndlb(datlab, (arith)0);
+ C_dlb(datlab, (arith)0);
expr->SG_DATLAB = datlab;
store_string(expr);
break;
}
if (expr->ex_type->tp_up->tp_fund == FUNCTION) {
if (idf)
- C_co_pnam(idf->id_text);
+ C_pnam(idf->id_text);
else /* int (*func)() = 0 */
con_int(expr);
}
expr_error(expr,
"illegal initialisation");
else
- C_co_ndlb((label)def->df_address,
+ C_dlb((label)def->df_address,
vl->vl_value);
}
else
- C_co_dnam(idf->id_text, vl->vl_value);
+ C_dnam(idf->id_text, vl->vl_value);
}
else
con_int(expr);
register struct type *tp = expr->ex_type;
if (tp->tp_unsigned)
- C_co_ucon(itos(expr->VL_VALUE), tp->tp_size);
+ C_ucon(itos(expr->VL_VALUE), tp->tp_size);
else
- C_co_icon(itos(expr->VL_VALUE), tp->tp_size);
+ C_icon(itos(expr->VL_VALUE), tp->tp_size);
}
illegal_init_cst(expr)
}
*/
define_label(idf);
- C_ilb((label)idf->id_def->df_address);
+ C_df_ilb((label)idf->id_def->df_address);
}
;
been optimized to a 0 or 1.
*/
code_expr(expr, RVAL, TRUE, l_true, l_false);
- C_ilb(l_true);
+ C_df_ilb(l_true);
}
else {
if (expr->VL_VALUE == (arith)0) {
ELSE
{
C_bra(l_end);
- C_ilb(l_false);
+ C_df_ilb(l_false);
}
statement
- { C_ilb(l_end);
+ { C_df_ilb(l_end);
}
|
empty
- { C_ilb(l_false);
+ { C_df_ilb(l_false);
}
]
;
WHILE
{
stat_stack(l_break, l_continue);
- C_ilb(l_continue);
+ C_df_ilb(l_continue);
}
'('
expression(&expr)
opnd2test(&expr, NOTEQUAL);
if (expr->ex_class != Value) {
code_expr(expr, RVAL, TRUE, l_body, l_break);
- C_ilb(l_body);
+ C_df_ilb(l_body);
}
else {
if (expr->VL_VALUE == (arith)0) {
statement
{
C_bra(l_continue);
- C_ilb(l_break);
+ C_df_ilb(l_break);
stat_unstack();
free_expression(expr);
}
}
:
DO
- { C_ilb(l_body);
+ { C_df_ilb(l_body);
stat_stack(l_break, l_continue);
}
statement
WHILE
'('
- { C_ilb(l_continue);
+ { C_df_ilb(l_continue);
}
expression(&expr)
{
C_bra(l_body);
}
}
- C_ilb(l_break);
+ C_df_ilb(l_break);
}
')'
';'
}
]?
';'
- { C_ilb(l_test);
+ { C_df_ilb(l_test);
}
[
expression(&e_test)
opnd2test(&e_test, NOTEQUAL);
if (e_test->ex_class != Value) {
code_expr(e_test, RVAL, TRUE, l_body, l_break);
- C_ilb(l_body);
+ C_df_ilb(l_body);
}
else {
if (e_test->VL_VALUE == (arith)0) {
')'
statement
{
- C_ilb(l_continue);
+ C_df_ilb(l_continue);
if (e_incr)
code_expr(e_incr, RVAL, FALSE, NO_LABEL, NO_LABEL);
C_bra(l_test);
- C_ilb(l_break);
+ C_df_ilb(l_break);
stat_unstack();
free_expression(e_init);
free_expression(e_test);
if (sh->sh_default == 0) /* no default occurred yet */
sh->sh_default = sh->sh_break;
C_bra(sh->sh_break); /* skip the switch table now */
- C_ilb(sh->sh_table); /* switch table entry */
+ C_df_ilb(sh->sh_table); /* switch table entry */
tablabel = data_label(); /* the rom must have a label */
- C_ndlb(tablabel);
+ C_df_dlb(tablabel);
C_rom_begin();
- C_co_ilb(sh->sh_default);
+ C_ilb(sh->sh_default);
if (compact(sh->sh_nrofentries, sh->sh_lowerbd, sh->sh_upperbd)) {
/* CSA */
register arith val;
- C_co_cst(sh->sh_lowerbd);
- C_co_cst(sh->sh_upperbd - sh->sh_lowerbd);
+ C_cst(sh->sh_lowerbd);
+ C_cst(sh->sh_upperbd - sh->sh_lowerbd);
ce = sh->sh_entries;
for (val = sh->sh_lowerbd; val <= sh->sh_upperbd; val++) {
ASSERT(ce);
if (val == ce->ce_value) {
- C_co_ilb(ce->ce_label);
+ C_ilb(ce->ce_label);
ce = ce->next;
}
else
- C_co_ilb(sh->sh_default);
+ C_ilb(sh->sh_default);
}
C_rom_end();
- C_lae_ndlb(tablabel, (arith)0); /* perform the switch */
+ C_lae_dlb(tablabel, (arith)0); /* perform the switch */
C_csa(sh->sh_type->tp_size);
}
else { /* CSB */
- C_co_cst((arith)sh->sh_nrofentries);
+ C_cst((arith)sh->sh_nrofentries);
for (ce = sh->sh_entries; ce; ce = ce->next) {
/* generate the entries: value + prog.label */
- C_co_cst(ce->ce_value);
- C_co_ilb(ce->ce_label);
+ C_cst(ce->ce_value);
+ C_ilb(ce->ce_label);
}
C_rom_end();
- C_lae_ndlb(tablabel, (arith)0); /* perform the switch */
+ C_lae_dlb(tablabel, (arith)0); /* perform the switch */
C_csb(sh->sh_type->tp_size);
}
- C_ilb(sh->sh_break);
+ C_df_ilb(sh->sh_break);
switch_stack = sh->next; /* unstack the switch descriptor */
/* free the allocated switch structure */
for (ce = sh->sh_entries; ce; ce = tmp) {
return;
}
ce = new_case_entry();
- C_ilb(ce->ce_label = text_label());
+ C_df_ilb(ce->ce_label = text_label());
ce->ce_value = val;
if (sh->sh_entries == 0) {
/* first case entry */
error("multiple entry for default in switch");
return;
}
- C_ilb(sh->sh_default = text_label());
+ C_df_ilb(sh->sh_default = text_label());
}