X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=parmode.h;h=955fade88621de27095dad9fba6f613c8498f76f;hp=ca313efb1bd8dbcff02169303831d0c8bc4f6bc8;hb=ace0b549a94110b69ec61442f825fb421b79799a;hpb=4205233c8397c581b4d27ab36ab81ec896ef3dd0 diff --git a/parmode.h b/parmode.h index ca313ef..955fade 100644 --- a/parmode.h +++ b/parmode.h @@ -81,7 +81,7 @@ } else if ((*tok >= KW_D0) && (*tok <= KW_D7)) { - //Since index register isn't used here, store register number in this field + // Since index register isn't used here, store register number in this field AnIXREG = *tok++ & 7; // (Dn) if (*tok == ')') @@ -1169,6 +1169,14 @@ CHK_FOR_DISPn: // expr[.L] AMn = ABSL; + // When PC relative is enforced, check for any symbols that aren't + // EQU'd, in this case it's an illegal mode + if (optim_pc) + if (AnEXATTR & REFERENCED) + if (AnEXATTR & DEFINED) + if (!(AnEXATTR & EQUATED)) + return error("relocation not allowed"); + // .L is forced here if (*tok == DOTL) {