Selaa lähdekoodia

* tx86casenode.genjumptable: explicitly emit near pointers in the case jump table on i8086, regardless of the memory model

git-svn-id: trunk@25503 -
nickysn 12 vuotta sitten
vanhempi
commit
8608969eb8
1 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 8 0
      compiler/x86/nx86set.pas

+ 8 - 0
compiler/x86/nx86set.pas

@@ -85,13 +85,21 @@ implementation
             i:=last.svalue+1;
             i:=last.svalue+1;
             while i<=t^._low.svalue-1 do
             while i<=t^._low.svalue-1 do
               begin
               begin
+{$ifdef i8086}
+                list.concat(Tai_const.Create_sym_near(elselabel));
+{$else i8086}
                 list.concat(Tai_const.Create_sym(elselabel));
                 list.concat(Tai_const.Create_sym(elselabel));
+{$endif i8086}
                 inc(i);
                 inc(i);
               end;
               end;
             i:=t^._low.svalue;
             i:=t^._low.svalue;
             while i<=t^._high.svalue do
             while i<=t^._high.svalue do
               begin
               begin
+{$ifdef i8086}
+                list.concat(Tai_const.Create_sym_near(blocklabel(t^.blockid)));
+{$else i8086}
                 list.concat(Tai_const.Create_sym(blocklabel(t^.blockid)));
                 list.concat(Tai_const.Create_sym(blocklabel(t^.blockid)));
+{$endif i8086}
                 inc(i);
                 inc(i);
               end;
               end;
             last:=t^._high;
             last:=t^._high;