- don't generate addr_seg relocations for the Seg() directive on i8086, if the

load node didn't fill the segment value in the treference record; instead,
  just use the default segment for the reference

git-svn-id: trunk@37713 -
This commit is contained in:
nickysn 2017-12-11 17:18:07 +00:00
parent 4cdfe1b025
commit 04f0029b77

View File

@ -142,16 +142,6 @@ implementation
else
location.register:=left.location.reference.segment;
end
{ references relative to a symbol use the segment of the symbol,
which can be obtained by the SEG directive }
else if assigned(left.location.reference.symbol) then
begin
location_reset(location,LOC_REGISTER,OS_16);
location.register:=cg.getintregister(current_asmdata.CurrAsmList,OS_16);
reference_reset_symbol(segref,left.location.reference.symbol,0,left.location.reference.alignment,left.location.reference.volatility);
segref.refaddr:=addr_seg;
cg.a_load_ref_reg(current_asmdata.CurrAsmList,OS_16,OS_16,segref,location.register);
end
else
begin
location_reset(location,LOC_REGISTER,OS_16);