Commit Graph

342 Commits

Author SHA1 Message Date
florian
0e22fc491b + some WideString<->AnsiString conversion functions added 2002-09-26 21:50:37 +00:00
carl
7215ccb0e8 * cardinal -> longword
- remove FPUInt64 variable
2002-09-07 21:20:50 +00:00
peter
01dfac4a4e * old logs removed and tabs fixed 2002-09-07 15:06:34 +00:00
peter
c3af3cda9b * SYSTEMINLINE define that will add inline directives for small
functions and wrappers. This will be defined automaticly when
    the compiler defines the HASINLINE directive
2002-08-19 19:34:02 +00:00
michael
b5717d4dde + Added support for octal strings (using &) 2002-08-06 20:53:38 +00:00
florian
05a95ba5bc * interface of system unit for Linux/PowerPC compiles 2002-07-26 22:46:06 +00:00
florian
789edf11aa + powerpc type support 2002-07-26 21:29:03 +00:00
florian
95c6c8f430 + some x86-64 support added 2002-07-04 20:40:09 +00:00
peter
71a1ae2136 * sLineBreak changed to normal constant like Kylix 2002-07-01 16:29:05 +00:00
marco
af9703f179 * Renamefest supports_double for FreeBSD too 2002-06-02 10:49:30 +00:00
carl
1b88940d62 * StackError is now a typed constant
+ $S can be used under unix
2002-04-21 15:51:50 +00:00
carl
b1c72872c7 - removed unused variable 2002-04-12 17:35:24 +00:00
peter
44b7972e01 * moved array types to objpas unit 2002-01-25 17:41:05 +00:00
peter
2fcd65b933 * array types added 2002-01-25 17:39:35 +00:00
peter
c6fd513271 * lowercase() overloaded 2002-01-24 18:27:06 +00:00
Jonas Maebe
2b3898aeff * adapted ranges of native types to int64 (e.g. high cardinal is no
longer longint($ffffffff), but just $fffffff in psystem)
  * small additional fix in 64bit rangecheck code generation for 32 bit
    processors
  * adaption of ranges required the matching talgorithm used for selecting
    which overloaded procedure to call to be adapted. It should now always
    select the closest match for ordinal parameters.
  + inttostr(qword) in sysstr.inc/sysstrh.inc
  + abs(int64), sqr(int64), sqr(qword) in systemh.inc/generic.inc (previous
    fixes were required to be able to add them)
  * is_in_limit() moved from ncal to types unit, should always be used
    instead of direct comparisons of low/high values of orddefs because
    qword is a special case
2002-01-24 12:33:52 +00:00
michael
2a27de0fb0 + Initial variant support 2001-11-14 22:59:11 +00:00
michael
2f52ba40e8 + Moved PathDelim,DriveDelim,PathSep to sysutilh 2001-11-07 14:59:20 +00:00
michael
2a04e66b42 + Added PathDelim,DriveDelim,PathSep 2001-11-07 13:52:37 +00:00
carl
05a2276947 * bugfix #1639 (IsMultiThread varialbe setting) 2001-10-09 02:17:45 +00:00
florian
6476fbf2fe * fixed and added a lot of stuff to get the Jedi DX( headers
compiled
2001-08-19 21:02:01 +00:00
peter
c3da2af2ad * WChar fix to compile also with 1.0.x 2001-08-01 18:01:20 +00:00
Jonas Maebe
b9f6efc85b + "compproc" helpers
* renamed several helpers so that their name is the same as their
    "public alias", which should facilitate the conversion of processor
    specific code in the code generator to processor independent code
  * some small fixes to the val_ansistring and val_widestring helpers
    (always immediately exit if the source string is longer than 255
     chars)
  * fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
    still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00
marco
be8a646ebb * Either I did something wrong, or Peter's merge killed wchar decl. Fixed. 2001-07-31 08:57:22 +00:00
peter
e7c86006db * m68k updates merged 2001-07-30 21:38:54 +00:00
marco
1631508458 * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. * Added wchar=widechar. 2001-07-30 14:34:29 +00:00
peter
bc74424ab1 * m68k updates merged 2001-07-29 13:49:15 +00:00
peter
9663f60c00 * merged m68k updates 2001-07-15 11:57:16 +00:00
peter
5c0d161bef * merged textfile, readlink and concat ansistring fixes 2001-07-10 18:04:37 +00:00
peter
db87f86f00 * Length made internal
* Add array support for Length
2001-07-09 21:15:40 +00:00
peter
ca8d604964 * various widestring updates, it works now mostly without charset
mapping supported
2001-07-08 21:00:14 +00:00
peter
741d455ab7 * Formal const to var fixes
* Hexstr(int64) added
2001-06-04 11:43:51 +00:00
peter
45ea82ed18 * ucs4char added 2001-06-03 20:17:06 +00:00
Jonas Maebe
d811aeedf7 + odd() for cardinal, int64 and qword (merged) 2001-05-16 17:44:25 +00:00
peter
8bf13fd185 *** empty log message *** 2001-05-09 19:57:07 +00:00
peter
802acf6940 * m68k updates 2001-04-23 18:25:44 +00:00
peter
5dbe3bba52 * upcase, lowercase for ansistring 2001-04-13 18:06:07 +00:00
florian
49ed6221f4 * some new types added like PBoolean 2001-03-22 23:26:05 +00:00
florian
1f91d1d88e + sLineBreak and misc. stuff for Kylix compatiblity 2001-03-21 23:29:40 +00:00
florian
ddd5f168eb + more MT stuff added 2001-01-24 21:47:18 +00:00
Jonas Maebe
4f791d04b4 - removed all ifdef cardinalmulfix code 2000-12-16 15:56:18 +00:00
Jonas Maebe
4a7f3db6d9 + added pos(char,ansistring), because there is also a pos(char,shortstring)
and without the ansistring version, the shortstring version is always
    called when calling pos(char,pchar), even when using $h+ (because the
    first parameter matches exactly) (merged)
2000-12-08 14:04:43 +00:00
Jonas Maebe
c91a23c27d * new constant handling: from now on, hex constants >$7fffffff are
parsed as unsigned constants (otherwise, $80000000 got sign extended
    and became $ffffffff80000000), all constants in the longint range
    become longints, all constants >$7fffffff and <=cardinal($ffffffff)
    are cardinals and the rest are int64's.
  * added lots of longint typecast to prevent range check errors in the
    compiler and rtl
  * type casts of symbolic ordinal constants are now preserved
  * fixed bug where the original resulttype wasn't restored correctly
    after doing a 64bit rangecheck
2000-12-07 17:19:42 +00:00
marco
abfa37b122 * Renamefest 2000-11-13 13:40:03 +00:00
peter
24b631132e * ptr returns farpointer 2000-11-11 16:12:01 +00:00
peter
2660e94c5f * removed some warnings 2000-11-06 21:35:59 +00:00
peter
94c1f86d79 * changed ver1_0 defines to temporary defs 2000-11-06 20:34:24 +00:00
Jonas Maebe
5fb68eeb52 * renamed strlenint to longint since 1.0 doesn't know that type 2000-10-23 16:15:40 +00:00
florian
fc777c9970 * setlength export declaration for 1.0.2 fixed 2000-10-23 14:00:59 +00:00
florian
1a2851eb47 * a lot of small changes:
- setlength is internal
     - win32 graph unit extended
     ....
2000-10-21 18:20:17 +00:00
michael
7aa1e88a5d + Added some delphi compatibility types 2000-08-13 17:55:14 +00:00
sg
6fcf8dcda3 * Added declarations for WideString utility functions 2000-08-08 22:11:45 +00:00
michael
586c4cea50 + Conditionals fixed 2000-07-14 10:33:09 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
pierre
1d1b4bcb53 * correct last commit error 2000-07-07 19:22:27 +00:00
marco
f5fd205ab5 * Changed move (var source;var dest) to move (const source;var dest) 2000-07-07 18:23:41 +00:00
peter
aae7c24beb * moved islibrary,isconsole,ismulithread to systemh as they are
os independent
2000-06-22 18:39:14 +00:00
michael
bc8a454afd + Modifications for exception support in sysutils. Mainly added
RaiseList function.
2000-06-22 18:05:56 +00:00
peter
b4c4d9d1a3 * UniqueAnsiString -> UniqueString for Delphi compatibility 2000-06-11 07:02:30 +00:00
florian
53b5415c5e * TVarRec with In64/QWord stuff extended 2000-05-14 18:46:54 +00:00
peter
ebbf2e578f * backtraces for exceptions are now only generated from the place of the
exception
  * frame is also pushed for exceptions
  * raise statement enhanced with [,<frame>]
2000-04-24 11:11:50 +00:00
Jonas Maebe
d9c608a373 + $maxfpuregisters 0 for i386 in systemh (to avoid requiring too much
empty FPU registers for sysstem routines
  * fixed bug in str_real when using 0
  * str_real now doesn't call exp() anymore at runtime, so it should
    require less free FPU registers now (and be slightly faster)
2000-03-26 11:36:28 +00:00
michael
54f9bbd99b + Added constants and types for Delphi compatibility 2000-03-14 10:20:18 +00:00
peter
6b66a55cd6 * truncated log 2000-02-09 16:59:28 +00:00
peter
78cb6bfa89 * lineinfo unit added which uses stabs to get lineinfo for backtraces 2000-02-06 17:19:22 +00:00
Jonas Maebe
c834c996e4 * set FPUInt64 to false for i386, because comp mul and div code for int64 is
commented out in int64.inc
2000-01-21 15:32:07 +00:00
peter
c775ade1d6 * primitives added 2000-01-10 09:54:30 +00:00
daniel
ec29a31834 * copyright 2000 2000-01-07 16:41:28 +00:00
daniel
a79b4a404b * copyright 2000 added 2000-01-07 16:32:21 +00:00
peter
fd5037b339 + smallint, maxsmallint
* integer is redefined as smallint
1999-12-20 11:20:14 +00:00
florian
89c403c529 * very basic widestring support 1999-12-18 14:54:34 +00:00
Jonas Maebe
047a68614f * remove "random(longint): longint" if cardinalmulfixed is defined 1999-12-12 13:29:34 +00:00
Jonas Maebe
7f899914bc + function random(longint): longint 1999-12-01 12:37:13 +00:00
michael
65cd1cdbc7 + Added Ansistring setstring call 1999-11-25 13:34:57 +00:00
Jonas Maebe
5ffd2e21d4 * reinstated old random generator, but modified it so the integer
one now has a much longer period
1999-11-20 12:48:09 +00:00
daniel
ec77ff77ee * Committed new random generator. 1999-11-09 20:14:12 +00:00
peter
aa083c5b4d * truncated log 1999-11-06 14:35:38 +00:00
florian
093ad73c78 + StringOfChar 1999-10-27 14:17:20 +00:00
peter
6eafc25151 * *errorproc are not procvars instead of pointers which allows better
error checking for the parameters (shortstring<->ansistring)
1999-10-26 12:31:00 +00:00
peter
4557f11bac * settextbuf size is now longint 1999-08-19 11:16:13 +00:00
peter
ebd738f2f5 * removed temp defines 1999-07-05 20:04:21 +00:00
peter
a3bcef25cc * $ifdef int64 1999-07-03 01:24:19 +00:00
florian
01aceb4f07 + qword/int64: lo/hi/swap 1999-07-02 18:06:40 +00:00
florian
aaef13ac01 + fpuint64 to system unit interface added: if it is true, the rtl
uses the fpu to do int64 operations, if possible
1999-06-30 22:17:22 +00:00
florian
e905aeea04 * most of the Object Pascal stuff moved to the system unit 1999-05-17 21:52:33 +00:00
peter
458a7be587 * generic write_float str_float 1999-05-06 09:05:11 +00:00
peter
dc1f9b5bbb * addr() internal 1999-04-17 13:10:23 +00:00
peter
dda7bf2bc9 + subrange checking for readln() 1999-04-08 15:57:44 +00:00
Jonas Maebe
228829bd86 * changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
* in text.inc: changed RTE 106 when read integer values are out of bounds to RTE 201
  * in systemh.inc: disabled "support_fixed" for the i386 because it gave internal errors,
1999-03-16 17:49:36 +00:00
florian
67c66987e5 + system.cmdline variable for go32v2 and win32 added 1999-03-10 22:15:28 +00:00
michael
5b750c0345 + Added setstring for Delphi compatibility 1999-03-03 15:23:57 +00:00
florian
e207d78d70 + functions lo/hi for DWord type implemented 1999-02-01 00:05:14 +00:00
pierre
1cd9b0fb0e * Fillchar(..,..,boolean) added 1999-01-29 09:23:09 +00:00
pierre
ab763cd69c + added text arg for dump_stack 1999-01-22 12:39:19 +00:00
Jonas Maebe
f7b137cdef * made inster(string,string,index) a bit faster
+ overloaded insert(char,string,index)
1999-01-11 19:26:53 +00:00
peter
f11d46a93e + stdout, which is needed when you write something in the system unit
to the screen. Like the runtime error
1998-12-28 15:50:42 +00:00
peter
516958a67b * removed temp symbols 1998-12-15 22:42:49 +00:00
peter
a41f61713d + open strings, $P switch support 1998-11-27 14:50:30 +00:00
Jonas Maebe
5271ef0830 * changed RandSeed and OldRandSeed to Cardinal to avoid negative random numbers 1998-11-26 23:16:13 +00:00
peter
741fe89a50 * fixed length(char)
- removed obsolete version.inc
1998-11-24 17:12:42 +00:00
peter
dbbdb79dfe * fixes for H+ 1998-11-16 10:21:24 +00:00
pierre
c1b6f90bcf * fix for length(char) in const expressions 1998-11-05 10:29:34 +00:00
michael
233c8c8c79 + Removed ifdef useansistrings 1998-11-04 20:34:01 +00:00
peter
5727090134 * ansistring fixes 1998-11-04 10:20:48 +00:00
peter
af1ccc6f61 + read single,fixed
+ val with code:longint
  + val for fixed
1998-10-10 15:28:46 +00:00
pierre
21ae990973 * avoid overflow on $8000000 with $Q- 1998-10-05 17:22:54 +00:00
peter
369e79adf9 + assert() support 1998-10-05 12:32:44 +00:00
peter
b9c5aa653c * export also stackframe functions 1998-10-01 14:54:48 +00:00
michael
4783316085 + AnsiString changes 1998-09-28 14:02:33 +00:00
peter
e47964d613 * shortstring=string type added 1998-09-22 15:30:54 +00:00
florian
41efdfd57d * some ansistring fixes 1998-09-20 17:49:07 +00:00
peter
1e3a448793 * new eof,eoln,seekeoln,seekeof
* speed upgrade for read_string
  * inoutres 104/105 updates for read_* and write_*
1998-09-17 16:34:16 +00:00
michael
ac4ac905aa Added AbstractErrorHandler 1998-09-16 13:08:03 +00:00
peter
4620a73a9b * FPC_ names
* Heap manager is now system independent
1998-09-14 10:48:00 +00:00
peter
53dcf00218 * moved getmem/freemem/memavail/maxavail to heaph.inc 1998-09-08 15:03:27 +00:00
peter
8c0de1dd76 * uniform filerec/textrec (with recsize:longint and name:0..255) 1998-09-04 18:16:12 +00:00
peter
b8ff0c3320 + internconst 1998-09-01 17:36:17 +00:00
peter
de0a5038f9 * splitted default_extended from support_extended 1998-08-11 21:39:04 +00:00
peter
bd57e42086 * $ifdef ver0_99_5 updates 1998-08-11 00:04:46 +00:00
florian
29a7bb1314 * a lot small fixes to the extended data type work 1998-08-08 12:28:09 +00:00
michael
4e11459938 + Added support for ErrorProc variable. All internal functions are required
to call HandleError instead of runerror from now on.
  This is necessary for exception support.
1998-07-30 13:26:14 +00:00
michael
8cc8cb80b2 + added setjmp/longjmp and exception support 1998-07-28 20:37:45 +00:00
michael
dd71eb8045 changes for ansistrings 1998-07-20 23:36:56 +00:00
florian
5e5ca61090 * strlenint type implemented 1998-07-18 17:14:22 +00:00
peter
702043e165 * support_fixed, becuase fixed is not 100% yet for the m68k 1998-07-10 11:02:38 +00:00
carl
e472678241 * No SINGLE type for m68k or other non-intel processors! 1998-07-02 12:13:18 +00:00
carl
7e95e0140e - max_frame_dump reduced to 8, 20 is too much! 1998-07-01 14:43:46 +00:00
peter
4ac8e5d18f + internal inc/dec 1998-06-25 14:04:17 +00:00
daniel
c43a386001 + RTLLITE directive to compile minimal RTL. 1998-06-25 09:44:19 +00:00
daniel
c48b67d0b3 * RTLLITE conditional added to produce smaller RTL 1998-06-15 15:16:26 +00:00
michael
05b01ddb00 Implemented rtti, inserted ansistrings again 1998-06-08 12:38:21 +00:00
peter
d0ce4085d3 * comp,extended are only i386 added support_comp,support_extended 1998-06-04 23:45:56 +00:00
pierre
c04eb73621 * boolean internal definition again (needed to compile
older RTL's)
1998-06-04 08:26:03 +00:00
peter
6f2206fbeb + boolean=bytebool 1998-06-03 23:39:53 +00:00
peter
d26106d745 * fixed the optimizes of daniel 1998-05-22 12:34:06 +00:00
peter
eb39182b3b * objects compiles for linux
+ assign(pchar), assign(char), rename(pchar), rename(char)
  * fixed read_text_as_array
  + read_text_as_pchar which was not yet in the rtl
1998-05-21 19:30:46 +00:00
peter
e64becf81c * moved getopts to inc/, all supported OS's need argc,argv exported
+ strpas, strlen are now exported in the systemunit
  * removed logs
  * removed $ifdef ver_above
1998-05-12 10:42:41 +00:00
peter
4594d7ae04 + inc(pchar), dec(pchar), incc(pchar,a),dec(pchar,a) 1998-04-16 12:30:47 +00:00
michael
f6b5cc3358 + Added comp support for val and read(ln) 1998-03-26 14:41:22 +00:00
florian
4a9ba91007 * complete Object Pascal support moved to objpas unit 1998-03-25 23:39:17 +00:00
root
d1a1f501c8 Initial revision 1998-03-25 11:18:12 +00:00