summaryrefslogtreecommitdiff
path: root/rtl/msdos/classes.pp
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-09-06 10:09:26 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-09-06 10:09:26 +0000
commitb379f2cb9ef71d09216f34380bf3a4dba6777782 (patch)
tree16d28b20151c20bd514b097c7c0016adaff2bfda /rtl/msdos/classes.pp
parent71c0dea92bdcc6a331d86adc4107d6f9bbd92c02 (diff)
parente259a09cecfcf724f8e49010f0db5dadb8a3e2c3 (diff)
downloadfpc-cpstrrtl.tar.gz
* synchronized with trunk up to and including r25430cpstrrtl
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/cpstrrtl@25431 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/msdos/classes.pp')
-rw-r--r--rtl/msdos/classes.pp17
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}