X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=eagen0.c;h=bcddb193f64f51e76ceaaab1e0b6e3da158d0655;hp=2df5eceea09d11eb470232e8796d48c950bca594;hb=4a08774b122ba509b13c79975b2ad0f2e441c56b;hpb=fbbe9b115f949735421485513154ce8abb8453eb diff --git a/eagen0.c b/eagen0.c index 2df5ece..bcddb19 100644 --- a/eagen0.c +++ b/eagen0.c @@ -40,7 +40,7 @@ int eaNgen(WORD siz) if (tdb) MarkRelocatable(cursect, sloc, tdb, MWORD, NULL); - if ((v == 0) && CHECK_OPTS(OPT_INDIRECT_DISP) && !movep) + if ((v == 0) && CHECK_OPTS(OPT_OUTER_DISP) && !movep) { // If expr is 0, size optimise the opcode. Generally the lower // 6 bits of the opcode for expr(ax) are 101rrr where rrr=the @@ -64,7 +64,7 @@ int eaNgen(WORD siz) chptr_opcode[1] |= 0x0080 & 255; // slap in 010 bits } - if (sbra_flag) + if (optim_warn_flag) warn("0(An) converted to (An)"); return OK; @@ -326,9 +326,11 @@ int eaNgen(WORD siz) case ABSL: if (w) // Defined { - if (optim_pc) - if (aNexattr&(DEFINED | REFERENCED | EQUATED) == DEFINED | REFERENCED) + if (CHECK_OPTS(OPT_PC_RELATIVE)) + { + if ((aNexattr & (DEFINED | REFERENCED | EQUATED)) == (DEFINED | REFERENCED)) return error("relocation not allowed"); + } if (tdb) MarkRelocatable(cursect, sloc, tdb, MLONG, NULL);