Browse Source

* tcg8086.g_copyvaluepara_openarray: fix for the case where ref.segment is
specified, but equal to DS in the current memory model -> call the high level
code generator with a near pointer type in order to force the segment to be
ignored

git-svn-id: trunk@27716 -

nickysn 11 years ago
parent
commit
906d828ee0
1 changed files with 1 additions and 1 deletions
  1. 1 1
      compiler/i8086/cgcpu.pas

+ 1 - 1
compiler/i8086/cgcpu.pas

@@ -1892,7 +1892,7 @@ unit cgcpu;
         if ((ref.segment=NR_NO) and (segment_regs_equal(NR_SS,NR_DS) or (ref.base<>NR_BP))) or
         if ((ref.segment=NR_NO) and (segment_regs_equal(NR_SS,NR_DS) or (ref.base<>NR_BP))) or
            (is_segment_reg(ref.segment) and segment_regs_equal(ref.segment,NR_DS)) then
            (is_segment_reg(ref.segment) and segment_regs_equal(ref.segment,NR_DS)) then
           begin
           begin
-            a_loadaddr_ref_reg(list,ref,NR_SI);
+            hlcg.a_loadaddr_ref_reg(list,voidnearpointertype,voidnearpointertype,ref,NR_SI);
             saved_ds:=false;
             saved_ds:=false;
           end
           end
         else
         else