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

git-svn-id: branches/i8086@23973 -
This commit is contained in:
florian 2013-03-23 19:25:00 +00:00
parent feed492568
commit 1f978ba9fe
2 changed files with 13 additions and 3 deletions

View File

@ -25,10 +25,12 @@
<RunParams> <RunParams>
<local> <local>
<FormatVersion Value="1"/> <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)"/> <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> </local>
</RunParams> </RunParams>
<Units Count="15"> <Units Count="16">
<Unit0> <Unit0>
<Filename Value="pp.pas"/> <Filename Value="pp.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -103,6 +105,11 @@
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="n8086inl"/> <UnitName Value="n8086inl"/>
</Unit14> </Unit14>
<Unit15>
<Filename Value="i8086\n8086set.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="n8086set"/>
</Unit15>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

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