瀏覽代碼

* use the 'FAR_DATA' segment class name instead of 'DATA' or 'BSS' in the huge
memory model

git-svn-id: trunk@31497 -

nickysn 10 年之前
父節點
當前提交
f14f4ff924
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      compiler/omfbase.pas

+ 7 - 0
compiler/omfbase.pas

@@ -1768,6 +1768,11 @@ implementation
       );
       );
     begin
     begin
       result:=segclass[atype];
       result:=segclass[atype];
+{$ifdef i8086}
+      if (current_settings.x86memorymodel=mm_huge) and
+        ((result='DATA') or (result='BSS')) then
+        result:='FAR_DATA';
+{$endif i8086}
     end;
     end;
 
 
   function omf_sectiontype2align(atype: TAsmSectiontype): shortint;
   function omf_sectiontype2align(atype: TAsmSectiontype): shortint;
@@ -1806,6 +1811,8 @@ implementation
       case omf_segclass(atype) of
       case omf_segclass(atype) of
         'CODE':
         'CODE':
           result:=current_settings.x86memorymodel=mm_tiny;
           result:=current_settings.x86memorymodel=mm_tiny;
+        'FAR_DATA':
+          result:=false;
         'DATA',
         'DATA',
         'BSS':
         'BSS':
           result:=true;
           result:=true;