Kaynağa Gözat

* 16 bit targets cannot use Word and Longint as array index

git-svn-id: branches/i8086@23973 -
florian 12 yıl önce
ebeveyn
işleme
1f978ba9fe
2 değiştirilmiş dosya ile 13 ekleme ve 3 silme
  1. 8 1
      compiler/ppc8086.lpi
  2. 5 2
      compiler/ptype.pas

+ 8 - 1
compiler/ppc8086.lpi

@@ -25,10 +25,12 @@
     <RunParams>
       <local>
         <FormatVersion Value="1"/>
+        <CommandLineParams Value="-Tmsdos -Pi8086 -XPmsdos- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../i8086 -FE. -FUc:/fpc/branches/i8086/rtl/units/msdos -O- -gl    -di8086 -dRELEASE  -Fi../objpas ../objpas/objpas.pp"/>
         <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
+        <WorkingDirectory Value="c:/fpc/branches/i8086/rtl/msdos"/>
       </local>
     </RunParams>
-    <Units Count="15">
+    <Units Count="16">
       <Unit0>
         <Filename Value="pp.pas"/>
         <IsPartOfProject Value="True"/>
@@ -103,6 +105,11 @@
         <IsPartOfProject Value="True"/>
         <UnitName Value="n8086inl"/>
       </Unit14>
+      <Unit15>
+        <Filename Value="i8086\n8086set.pas"/>
+        <IsPartOfProject Value="True"/>
+        <UnitName Value="n8086set"/>
+      </Unit15>
     </Units>
   </ProjectOptions>
   <CompilerOptions>

+ 5 - 2
compiler/ptype.pas

@@ -1109,8 +1109,11 @@ implementation
               orddef :
                 begin
                   if torddef(def).ordtype in [uchar,
-                    u8bit,u16bit,
-                    s8bit,s16bit,s32bit,
+                    u8bit,
+                    s8bit,s16bit,
+{$if defined(cpu32bitaddr) or defined(cpu64bitaddr)}
+                    u16bit,s32bit,
+{$endif defined(cpu32bitaddr) or defined(cpu64bitaddr)}
 {$ifdef cpu64bitaddr}
                     u32bit,s64bit,
 {$endif cpu64bitaddr}