diff options
Diffstat (limited to 'rtl/msdos/classes.pp')
| -rw-r--r-- | rtl/msdos/classes.pp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/rtl/msdos/classes.pp b/rtl/msdos/classes.pp index cbd5d78c70..95fb6253c4 100644 --- a/rtl/msdos/classes.pp +++ b/rtl/msdos/classes.pp @@ -18,6 +18,14 @@ { determine the type of the resource/form file } {$define Win16Res} +{$if defined(FPC_MM_TINY) or defined(FPC_MM_SMALL) or defined(FPC_MM_LARGE) or defined(FPC_MM_HUGE)} + { CodePointer = Pointer; nothing to define } +{$elseif defined(FPC_MM_MEDIUM) or defined(FPC_MM_COMPACT)} + {$define FPC_CODEPOINTER_DIFFERENT_THAN_POINTER} +{$else} + {$fatal Unknown i8086 memory model.} +{$endif} + unit Classes; interface @@ -26,7 +34,7 @@ uses typinfo, rtlconsts, types, -{$ifdef FPC_TESTGENERICS} +{$if defined(FPC_TESTGENERICS) or defined(FPC_CODEPOINTER_DIFFERENT_THAN_POINTER)} fgl, {$endif} sysutils; @@ -35,6 +43,13 @@ uses implementation +type +{$ifdef FPC_CODEPOINTER_DIFFERENT_THAN_POINTER} + TCodePtrList = specialize TFPGList<CodePointer>; +{$else FPC_CODEPOINTER_DIFFERENT_THAN_POINTER} + TCodePtrList = TList; +{$endif FPC_CODEPOINTER_DIFFERENT_THAN_POINTER} + { OS - independent class implementations are in /inc directory. } {$i classes.inc} |
