Przeglądaj źródła

* far code support for the internal type

git-svn-id: trunk@24845 -
nickysn 12 lat temu
rodzic
commit
093b87f50d
1 zmienionych plików z 7 dodań i 0 usunięć
  1. 7 0
      compiler/psystem.pas

+ 7 - 0
compiler/psystem.pas

@@ -464,7 +464,14 @@ implementation
             addtype('$vtblarray',vmtarraytype);
             { Add a type for methodpointers }
             hrecst:=trecordsymtable.create('',1);
+{$ifdef i8086}
+            if current_settings.x86memorymodel in x86_far_code_models then
+              addfield(hrecst,tfieldvarsym.create('$proc',vs_value,voidfarpointertype,[]))
+            else
+              addfield(hrecst,tfieldvarsym.create('$proc',vs_value,voidnearpointertype,[]));
+{$else i8086}
             addfield(hrecst,tfieldvarsym.create('$proc',vs_value,voidpointertype,[]));
+{$endif i8086}
             addfield(hrecst,tfieldvarsym.create('$self',vs_value,voidpointertype,[]));
             methodpointertype:=trecorddef.create('',hrecst);
             addtype('$methodpointer',methodpointertype);