systemh.inc 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627
  1. {
  2. $Id$
  3. This file is part of the Free Pascal Run time library.
  4. Copyright (c) 1993,97 by the Free Pascal development team
  5. This File contains the OS independent declarations of the system unit
  6. See the File COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************}
  12. {
  13. Supported conditionnals:
  14. ------------------------
  15. RTLLITE Create a somewhat smaller RTL
  16. }
  17. {****************************************************************************
  18. Needed switches
  19. ****************************************************************************}
  20. {$I-,Q-,H-,R-,V-}
  21. { needed for insert,delete,readln }
  22. {$P+}
  23. { Stack check gives a note under linux }
  24. {$ifndef linux}
  25. {$S-}
  26. {$endif}
  27. {****************************************************************************
  28. Global Types and Constants
  29. ****************************************************************************}
  30. Type
  31. Longint = $80000000..$7fffffff; { $8000000 creates a longint overfow !! }
  32. Integer = -32768..32767;
  33. shortint = -128..127;
  34. byte = 0..255;
  35. Word = 0..65535;
  36. { at least declare Turbo Pascal real types }
  37. {$ifdef i386}
  38. Double = real;
  39. StrLenInt = LongInt;
  40. {$define DEFAULT_EXTENDED}
  41. {$define SUPPORT_EXTENDED}
  42. {$define SUPPORT_COMP}
  43. {$define SUPPORT_SINGLE}
  44. {causes internalerror(17) with internal val handling, and is not yet fully
  45. supported anyway (JM)}
  46. { define SUPPORT_FIXED}
  47. ValSInt = Longint;
  48. ValUInt = Cardinal;
  49. ValReal = Extended;
  50. {$endif}
  51. {$ifdef m68k}
  52. StrLenInt = Longint;
  53. ValSInt = Longint;
  54. ValUInt = Cardinal;
  55. ValReal = Real;
  56. {$endif}
  57. { some type aliases }
  58. dword = cardinal;
  59. longword = cardinal;
  60. { Zero - terminated strings }
  61. PChar = ^Char;
  62. PPChar = ^PChar;
  63. { procedure type }
  64. TProcedure = Procedure;
  65. const
  66. {$IfDef ValInternCompiled}
  67. { Maximum value of the biggest signed and unsigned integer type available}
  68. MaxSIntValue = High(ValSInt);
  69. MaxUIntValue = High(ValUInt);
  70. {$EndIf ValInternCompiled}
  71. { max. values for longint and int}
  72. maxLongint = $7fffffff;
  73. maxint = 32767;
  74. { Compatibility With TP }
  75. {$ifdef i386}
  76. Test8086 : byte = 2; { Always i386 or newer }
  77. Test8087 : byte = 3; { Always 387 or newer. Emulated if needed. }
  78. {$endif i386}
  79. {$ifdef m68k}
  80. Test68000 : byte = 0; { Must be determined at startup for both }
  81. Test68881 : byte = 0;
  82. {$endif}
  83. { max level in dumping on error }
  84. Max_Frame_Dump : Word = 8;
  85. { Exit Procedure handling consts and types }
  86. ExitProc : pointer = nil;
  87. Erroraddr: pointer = nil;
  88. Errorcode: Word = 0;
  89. { file input modes }
  90. fmClosed = $D7B0;
  91. fmInput = $D7B1;
  92. fmOutput = $D7B2;
  93. fmInOut = $D7B3;
  94. fmAppend = $D7B4;
  95. Filemode : byte = 2;
  96. CmdLine : PChar = nil;
  97. Type
  98. TErrorProc = Procedure (ErrNo : Longint; Address : Pointer);
  99. var
  100. { Standard In- and Output }
  101. Output,
  102. Input,
  103. StdOut,
  104. StdErr : Text;
  105. ExitCode,
  106. InOutRes : Word;
  107. StackBottom,
  108. LowestStack,
  109. RandSeed : Cardinal;
  110. { Error handlers }
  111. ErrorProc : Pointer;
  112. {****************************************************************************
  113. Processor specific routines
  114. ****************************************************************************}
  115. Procedure Move(Var source,dest;count:Longint);
  116. Procedure FillChar(Var x;count:Longint;Value:Boolean);
  117. Procedure FillChar(Var x;count:Longint;Value:Char);
  118. Procedure FillChar(Var x;count:Longint;Value:Byte);
  119. {$ifndef RTLLITE}
  120. Procedure FillWord(Var x;count:Longint;Value:Word);
  121. {$endif RTLLITE}
  122. {****************************************************************************
  123. Math Routines
  124. ****************************************************************************}
  125. {$ifndef RTLLITE}
  126. Function lo(w:Word):byte;
  127. Function lo(l:Longint):Word;
  128. Function lo(l:DWord):Word;
  129. Function lo(i:Integer):byte;
  130. Function lo(B: Byte):Byte;
  131. Function hi(w:Word):byte;
  132. Function hi(i:Integer):byte;
  133. Function hi(l:Longint):Word;
  134. Function hi(b : Byte) : Byte;
  135. Function hi(l: DWord): Word;
  136. Function Swap (X:Word):Word;
  137. Function Swap (X:Integer):Integer;
  138. Function Swap (X:Cardinal):Cardinal;
  139. Function Swap (X:Longint):Longint;
  140. {$endif RTLLITE}
  141. Function Random(l:Longint):Longint;
  142. Function Random:real;
  143. Procedure Randomize;
  144. Function abs(l:Longint):Longint;
  145. Function sqr(l:Longint):Longint;
  146. Function odd(l:Longint):Boolean;
  147. { float math routines }
  148. {$I mathh.inc}
  149. {****************************************************************************
  150. Addr/Pointer Handling
  151. ****************************************************************************}
  152. {$ifndef RTLLITE}
  153. Function ptr(sel,off:Longint):pointer;
  154. Function Addr (Var X):pointer;
  155. Function Cseg:Word;
  156. Function Dseg:Word;
  157. Function Sseg:Word;
  158. {$endif RTLLITE}
  159. {****************************************************************************
  160. PChar and String Handling
  161. ****************************************************************************}
  162. function strpas(p:pchar):shortstring;
  163. function strlen(p:pchar):longint;
  164. { Shortstring functions }
  165. Function Copy(const s:shortstring;index:StrLenInt;count:StrLenInt):shortstring;
  166. Procedure Delete(Var s:shortstring;index:StrLenInt;count:StrLenInt);
  167. Procedure Insert(const source:shortstring;Var s:shortstring;index:StrLenInt);
  168. Procedure Insert(source:Char;Var s:shortstring;index:StrLenInt);
  169. Function Pos(const substr:shortstring;const s:shortstring):StrLenInt;
  170. Function Pos(C:Char;const s:shortstring):StrLenInt;
  171. Procedure SetLength(var s:shortstring;len:StrLenInt);
  172. Procedure SetString (Var S : Shortstring; Buf : PChar; Len : Longint);
  173. Function Length(s:string):byte;
  174. { Char functions to overcome overloading problem with ansistrings }
  175. function copy(c:char;index : StrLenInt;count : StrLenInt): shortstring;
  176. function pos(const substr : shortstring;c:char): StrLenInt;
  177. function length(c:char):byte;
  178. Function Chr(b:byte):Char;
  179. Function upCase(const s:shortstring):shortstring;
  180. Function upCase(c:Char):Char;
  181. {$ifndef RTLLITE}
  182. Function lowerCase(c:Char):Char;
  183. Function lowerCase(const s:shortstring):shortstring;
  184. Function hexStr(Val:Longint;cnt:byte):shortstring;
  185. Function binStr(Val:Longint;cnt:byte):shortstring;
  186. {$endif RTLLITE}
  187. Function Space(b:byte):shortstring;
  188. {$IfNDef ValInternCompiled}
  189. Procedure Val(const s:shortstring;Var l:Longint;Var code:Word);
  190. Procedure Val(const s:shortstring;Var l:Longint;Var code:Integer);
  191. Procedure Val(const s:shortstring;Var l:Longint;Var code:Longint);
  192. Procedure Val(const s:shortstring;Var l:Longint);
  193. Procedure Val(const s:shortstring;Var b:byte;Var code:Word);
  194. Procedure Val(const s:shortstring;Var b:byte;Var code:Integer);
  195. Procedure Val(const s:shortstring;Var b:byte;Var code:Longint);
  196. Procedure Val(const s:shortstring;Var b:byte);
  197. Procedure Val(const s:shortstring;Var b:shortint;Var code:Word);
  198. Procedure Val(const s:shortstring;Var b:shortint;Var code:Integer);
  199. Procedure Val(const s:shortstring;Var b:shortint;Var code:Longint);
  200. Procedure Val(const s:shortstring;Var b:shortint);
  201. Procedure Val(const s:shortstring;Var b:Word;Var code:Word);
  202. Procedure Val(const s:shortstring;Var b:Word;Var code:Integer);
  203. Procedure Val(const s:shortstring;Var b:Word;Var code:Longint);
  204. Procedure Val(const s:shortstring;Var b:Word);
  205. Procedure Val(const s:shortstring;Var b:Integer;Var code:Word);
  206. Procedure Val(const s:shortstring;Var b:Integer;Var code:Integer);
  207. Procedure Val(const s:shortstring;Var b:Integer;Var code:Longint);
  208. Procedure Val(const s:shortstring;Var b:Integer);
  209. Procedure Val(const s:shortstring;Var v:cardinal;Var code:Word);
  210. Procedure Val(const s:shortstring;Var v:cardinal;Var code:Integer);
  211. Procedure Val(const s:shortstring;Var v:cardinal;Var code:Longint);
  212. Procedure Val(const s:shortstring;Var v:cardinal);
  213. Procedure Val(const s:shortstring;Var d:ValReal;Var code:Word);
  214. Procedure Val(const s:shortstring;Var d:ValReal;Var code:Integer);
  215. Procedure Val(const s:shortstring;Var d:ValReal;Var code:Longint);
  216. Procedure Val(const s:shortstring;Var d:ValReal);
  217. {$ifdef SUPPORT_SINGLE}
  218. Procedure Val(const s:shortstring;Var d:single;Var code:Word);
  219. Procedure Val(const s:shortstring;Var d:single;Var code:Integer);
  220. Procedure Val(const s:shortstring;Var d:single;Var code:Longint);
  221. Procedure Val(const s:shortstring;Var d:single);
  222. {$endif SUPPORT_SINGLE}
  223. {$ifdef SUPPORT_COMP}
  224. Procedure Val(const s:shortstring;Var d:comp;Var code:Word);
  225. Procedure Val(const s:shortstring;Var d:comp;Var code:Integer);
  226. Procedure Val(const s:shortstring;Var d:comp;Var code:Longint);
  227. Procedure Val(const s:shortstring;Var d:comp);
  228. {$endif SUPPORT_COMP}
  229. {$ifdef SUPPORT_FIXED}
  230. Procedure Val(const s:shortstring;Var d:fixed;Var code:Word);
  231. Procedure Val(const s:shortstring;Var d:fixed;Var code:Integer);
  232. Procedure Val(const s:shortstring;Var d:fixed;Var code:Longint);
  233. Procedure Val(const s:shortstring;Var d:fixed);
  234. {$endif SUPPORT_FIXED}
  235. {$ifdef DEFAULT_EXTENDED}
  236. Procedure Val(const s:shortstring;Var d:Real;Var code:Word);
  237. Procedure Val(const s:shortstring;Var d:Real;Var code:Integer);
  238. Procedure Val(const s:shortstring;Var d:Real;Var code:Longint);
  239. Procedure Val(const s:shortstring;Var d:Real);
  240. {$else DEFAULT_EXTENDED}
  241. {$ifdef SUPPORT_EXTENDED}
  242. Procedure Val(const s:shortstring;Var d:Extended;Var code:Word);
  243. Procedure Val(const s:shortstring;Var d:Extended;Var code:Integer);
  244. Procedure Val(const s:shortstring;Var d:Extended;Var code:Longint);
  245. Procedure Val(const s:shortstring;Var d:Extended);
  246. {$endif}
  247. {$endif DEFAULT_EXTENDED}
  248. {$EndIf ValInternCompiled}
  249. {****************************************************************************
  250. AnsiString Handling
  251. ****************************************************************************}
  252. Procedure SetLength (Var S : AnsiString; l : Longint);
  253. Procedure UniqueAnsiString (Var S : AnsiString);
  254. Function Length (Const S : AnsiString) : Longint;
  255. Function Copy (Const S : AnsiString; Index,Size : Longint) : AnsiString;
  256. Function Pos (Const Substr : AnsiString; Const Source : AnsiString) : Longint;
  257. Procedure Insert (Const Source : AnsiString; Var S : AnsiString; Index : Longint);
  258. Procedure Delete (Var S : AnsiString; Index,Size: Longint);
  259. {$IfNDef ValInternCompiled}
  260. Procedure Val (Const S : AnsiString; var R : real; Var Code : Integer);
  261. {
  262. Procedure Val (Const S : AnsiString; var D : Double; Var Code : Integer);
  263. }
  264. Procedure Val (Const S : AnsiString; var E : Extended; Code : Integer);
  265. Procedure Val (Const S : AnsiString; var C : Cardinal; Code : Integer);
  266. Procedure Val (Const S : AnsiString; var L : Longint; Var Code : Integer);
  267. Procedure Val (Const S : AnsiString; var W : Word; Var Code : Integer);
  268. Procedure Val (Const S : AnsiString; var I : Integer; Var Code : Integer);
  269. Procedure Val (Const S : AnsiString; var B : Byte; Var Code : Integer);
  270. Procedure Val (Const S : AnsiString; var SI : ShortInt; Var Code : Integer);
  271. {$EndIf ValInternCompiled}
  272. {
  273. Procedure Str (Const R : Real;Len, fr : longint; Var S : AnsiString);
  274. Procedure Str (Const D : Double;Len,fr : longint; Var S : AnsiString);
  275. Procedure Str (Const E : Extended;Len,fr : longint; Var S : AnsiString);
  276. Procedure Str (Const C : Cardinal;len : Longint; Var S : AnsiString);
  277. Procedure Str (Const L : LongInt;len : longint; Var S : AnsiString);
  278. Procedure Str (Const W : Word;len : longint; Var S : AnsiString);
  279. Procedure Str (Const I : Integer;len : Longint; Var S : AnsiString);
  280. Procedure Str (Const B : Byte; Len : longint; Var S : AnsiString);
  281. Procedure Str (Const SI : ShortInt; Len : longint; Var S : AnsiString);
  282. }
  283. {****************************************************************************
  284. Untyped File Management
  285. ****************************************************************************}
  286. Procedure Assign(Var f:File;const Name:string);
  287. Procedure Assign(Var f:File;p:pchar);
  288. Procedure Assign(Var f:File;c:char);
  289. Procedure Rewrite(Var f:File;l:Longint);
  290. Procedure Rewrite(Var f:File);
  291. Procedure Reset(Var f:File;l:Longint);
  292. Procedure Reset(Var f:File);
  293. Procedure Close(Var f:File);
  294. Procedure BlockWrite(Var f:File;Var Buf;Count:Longint;Var Result:Longint);
  295. Procedure BlockWrite(Var f:File;Var Buf;Count:Word;Var Result:Word);
  296. Procedure BlockWrite(Var f:File;Var Buf;Count:Word;Var Result:Integer);
  297. Procedure BlockWrite(Var f:File;Var Buf;Count:Longint);
  298. Procedure BlockRead(Var f:File;Var Buf;count:Longint;Var Result:Longint);
  299. Procedure BlockRead(Var f:File;Var Buf;count:Word;Var Result:Word);
  300. Procedure BlockRead(Var f:File;Var Buf;count:Word;Var Result:Integer);
  301. Procedure BlockRead(Var f:File;Var Buf;count:Longint);
  302. Function FilePos(Var f:File):Longint;
  303. Function FileSize(Var f:File):Longint;
  304. Procedure Seek(Var f:File;Pos:Longint);
  305. Function EOF(Var f:File):Boolean;
  306. Procedure Erase(Var f:File);
  307. Procedure Rename(Var f:File;const s:string);
  308. Procedure Rename(Var f:File;p:pchar);
  309. Procedure Rename(Var f:File;c:char);
  310. Procedure Truncate (Var F:File);
  311. {****************************************************************************
  312. Typed File Management
  313. ****************************************************************************}
  314. Procedure Assign(Var f:TypedFile;const Name:string);
  315. Procedure Assign(Var f:TypedFile;p:pchar);
  316. Procedure Assign(Var f:TypedFile;c:char);
  317. Procedure Rewrite(Var f:TypedFile);
  318. Procedure Reset(Var f:TypedFile);
  319. {****************************************************************************
  320. Text File Management
  321. ****************************************************************************}
  322. Procedure Assign(Var t:Text;const s:string);
  323. Procedure Assign(Var t:Text;p:pchar);
  324. Procedure Assign(Var t:Text;c:char);
  325. Procedure Close(Var t:Text);
  326. Procedure Rewrite(Var t:Text);
  327. Procedure Reset(Var t:Text);
  328. Procedure Append(Var t:Text);
  329. Procedure Flush(Var t:Text);
  330. Procedure Erase(Var t:Text);
  331. Procedure Rename(Var t:Text;const s:string);
  332. Procedure Rename(Var t:Text;p:pchar);
  333. Procedure Rename(Var t:Text;c:char);
  334. Function EOF(Var t:Text):Boolean;
  335. Function EOF:Boolean;
  336. Function EOLn(Var t:Text):Boolean;
  337. Function EOLn:Boolean;
  338. Function SeekEOLn (Var t:Text):Boolean;
  339. Function SeekEOF (Var t:Text):Boolean;
  340. Function SeekEOLn:Boolean;
  341. Function SeekEOF:Boolean;
  342. Procedure SetTextBuf(Var f:Text; Var Buf);
  343. Procedure SetTextBuf(Var f:Text; Var Buf; Size:Word);
  344. {****************************************************************************
  345. Directory Management
  346. ****************************************************************************}
  347. Procedure chdir(const s:string);
  348. Procedure mkdir(const s:string);
  349. Procedure rmdir(const s:string);
  350. Procedure getdir(drivenr:byte;Var dir:shortstring);
  351. Procedure getdir(drivenr:byte;Var dir:ansistring);
  352. {*****************************************************************************
  353. Miscelleaous
  354. *****************************************************************************}
  355. { os independent calls to allow backtraces }
  356. function get_frame:longint;
  357. function get_caller_addr(framebp:longint):longint;
  358. function get_caller_frame(framebp:longint):longint;
  359. Function IOResult:Word;
  360. Function Sptr:Longint;
  361. {*****************************************************************************
  362. Init / Exit / ExitProc
  363. *****************************************************************************}
  364. Function Paramcount:Longint;
  365. Function ParamStr(l:Longint):string;
  366. {$ifndef RTLLITE}
  367. Procedure Dump_Stack(var f : text;bp:Longint);
  368. {$endif RTLLITE}
  369. Procedure RunError(w:Word);
  370. Procedure RunError;
  371. Procedure halt(errnum:byte);
  372. {$ifndef RTLLITE}
  373. Procedure AddExitProc(Proc:TProcedure);
  374. {$endif RTLLITE}
  375. Procedure halt;
  376. {*****************************************************************************
  377. Abstract/Assert
  378. *****************************************************************************}
  379. procedure AbstractError;
  380. Procedure SysAssert(Const Msg,FName:string;LineNo,ErrorAddr:Longint);
  381. const
  382. AssertErrorProc : Pointer=@SysAssert;
  383. AbstractErrorProc : Pointer=nil;
  384. {*****************************************************************************
  385. SetJmp/LongJmp
  386. *****************************************************************************}
  387. {$i setjumph.inc}
  388. {
  389. $Log$
  390. Revision 1.54 1999-04-08 15:57:56 peter
  391. + subrange checking for readln()
  392. Revision 1.53 1999/03/16 17:49:37 jonas
  393. * changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
  394. * in text.inc: changed RTE 106 when read integer values are out of bounds to RTE 201
  395. * in systemh.inc: disabled "support_fixed" for the i386 because it gave internal errors,
  396. Revision 1.52 1999/03/10 22:15:30 florian
  397. + system.cmdline variable for go32v2 and win32 added
  398. Revision 1.51 1999/03/03 15:23:58 michael
  399. + Added setstring for Delphi compatibility
  400. Revision 1.50 1999/02/01 00:05:16 florian
  401. + functions lo/hi for DWord type implemented
  402. Revision 1.49 1999/01/29 09:23:10 pierre
  403. * Fillchar(..,..,boolean) added
  404. Revision 1.48 1999/01/22 12:39:24 pierre
  405. + added text arg for dump_stack
  406. Revision 1.47 1999/01/11 19:26:53 jonas
  407. * made inster(string,string,index) a bit faster
  408. + overloaded insert(char,string,index)
  409. Revision 1.46 1998/12/28 15:50:48 peter
  410. + stdout, which is needed when you write something in the system unit
  411. to the screen. Like the runtime error
  412. Revision 1.45 1998/12/15 22:43:04 peter
  413. * removed temp symbols
  414. Revision 1.44 1998/11/27 14:50:57 peter
  415. + open strings, $P switch support
  416. Revision 1.43 1998/11/26 23:16:13 jonas
  417. * changed RandSeed and OldRandSeed to Cardinal to avoid negative random numbers
  418. Revision 1.42 1998/11/24 17:12:43 peter
  419. * fixed length(char)
  420. - removed obsolete version.inc
  421. Revision 1.41 1998/11/16 10:21:26 peter
  422. * fixes for H+
  423. Revision 1.40 1998/11/05 10:29:37 pierre
  424. * fix for length(char) in const expressions
  425. Revision 1.39 1998/11/04 20:34:01 michael
  426. + Removed ifdef useansistrings
  427. Revision 1.38 1998/11/04 10:20:51 peter
  428. * ansistring fixes
  429. Revision 1.37 1998/10/10 15:28:47 peter
  430. + read single,fixed
  431. + val with code:longint
  432. + val for fixed
  433. Revision 1.36 1998/10/05 17:22:54 pierre
  434. * avoid overflow on $8000000 with $Q-
  435. Revision 1.35 1998/10/05 12:32:52 peter
  436. + assert() support
  437. Revision 1.34 1998/10/01 14:54:48 peter
  438. * export also stackframe functions
  439. Revision 1.33 1998/09/28 14:02:33 michael
  440. + AnsiString changes
  441. Revision 1.32 1998/09/22 15:30:55 peter
  442. * shortstring=string type added
  443. Revision 1.31 1998/09/20 17:49:09 florian
  444. * some ansistring fixes
  445. Revision 1.30 1998/09/17 16:34:17 peter
  446. * new eof,eoln,seekeoln,seekeof
  447. * speed upgrade for read_string
  448. * inoutres 104/105 updates for read_* and write_*
  449. Revision 1.29 1998/09/16 13:08:04 michael
  450. Added AbstractErrorHandler
  451. Revision 1.28 1998/09/14 10:48:22 peter
  452. * FPC_ names
  453. * Heap manager is now system independent
  454. Revision 1.27 1998/09/08 15:03:28 peter
  455. * moved getmem/freemem/memavail/maxavail to heaph.inc
  456. Revision 1.26 1998/09/04 18:16:14 peter
  457. * uniform filerec/textrec (with recsize:longint and name:0..255)
  458. Revision 1.25 1998/09/01 17:36:22 peter
  459. + internconst
  460. Revision 1.24 1998/08/11 21:39:08 peter
  461. * splitted default_extended from support_extended
  462. Revision 1.23 1998/08/11 00:05:27 peter
  463. * $ifdef ver0_99_5 updates
  464. Revision 1.22 1998/08/08 12:28:14 florian
  465. * a lot small fixes to the extended data type work
  466. Revision 1.21 1998/07/30 13:26:17 michael
  467. + Added support for ErrorProc variable. All internal functions are required
  468. to call HandleError instead of runerror from now on.
  469. This is necessary for exception support.
  470. Revision 1.20 1998/07/28 20:37:47 michael
  471. + added setjmp/longjmp and exception support
  472. Revision 1.19 1998/07/20 23:36:57 michael
  473. changes for ansistrings
  474. Revision 1.18 1998/07/18 17:14:24 florian
  475. * strlenint type implemented
  476. Revision 1.17 1998/07/10 11:02:39 peter
  477. * support_fixed, becuase fixed is not 100% yet for the m68k
  478. Revision 1.16 1998/07/02 12:13:18 carl
  479. * No SINGLE type for m68k or other non-intel processors!
  480. Revision 1.15 1998/07/01 14:43:46 carl
  481. - max_frame_dump reduced to 8, 20 is too much!
  482. Revision 1.14 1998/06/25 14:04:26 peter
  483. + internal inc/dec
  484. Revision 1.13 1998/06/25 09:44:21 daniel
  485. + RTLLITE directive to compile minimal RTL.
  486. Revision 1.12 1998/06/15 15:16:27 daniel
  487. * RTLLITE conditional added to produce smaller RTL
  488. Revision 1.11 1998/06/08 12:38:23 michael
  489. Implemented rtti, inserted ansistrings again
  490. Revision 1.10 1998/06/04 23:46:02 peter
  491. * comp,extended are only i386 added support_comp,support_extended
  492. Revision 1.9 1998/06/04 08:26:03 pierre
  493. * boolean internal definition again (needed to compile
  494. older RTL's)
  495. Revision 1.8 1998/06/03 23:39:53 peter
  496. + boolean=bytebool
  497. Revision 1.7 1998/05/22 12:34:11 peter
  498. * fixed the optimizes of daniel
  499. Revision 1.6 1998/05/21 19:31:00 peter
  500. * objects compiles for linux
  501. + assign(pchar), assign(char), rename(pchar), rename(char)
  502. * fixed read_text_as_array
  503. + read_text_as_pchar which was not yet in the rtl
  504. Revision 1.5 1998/05/12 10:42:45 peter
  505. * moved getopts to inc/, all supported OS's need argc,argv exported
  506. + strpas, strlen are now exported in the systemunit
  507. * removed logs
  508. * removed $ifdef ver_above
  509. Revision 1.4 1998/04/16 12:30:47 peter
  510. + inc(pchar), dec(pchar), incc(pchar,a),dec(pchar,a)
  511. }