Commit Graph

94 Commits

Author SHA1 Message Date
peter
c36956fffe * better read/write array 1999-04-26 18:28:12 +00:00
pierre
833f624fc4 + cdecl or stdcall push all args with longint size
*  tempansi stuff cleaned up
1999-04-19 09:45:46 +00:00
peter
2742fb03f7 * fixed include 1999-04-14 09:11:59 +00:00
pierre
814a03ee84 * temp string for val code freed 1999-04-08 23:59:49 +00:00
peter
dda7bf2bc9 + subrange checking for readln() 1999-04-08 15:57:44 +00:00
pierre
5f410c2cd3 * all formaldefs are now a sinlge definition
cformaldef (this was necessary for double_checksum)
  + small part of double_checksum code
1999-04-07 15:31:12 +00:00
Jonas Maebe
135349d5fb * fixed some typos in the constants of the range checking for Val 1999-04-05 11:07:26 +00:00
peter
cf8fef1b47 * universal string names (ansistr instead of stransi) for val/str 1999-04-01 22:07:51 +00:00
Jonas Maebe
021b3734ab * added initialization for has_32bit_code (caused problems with Val statement
without code parameter)
1999-04-01 06:21:04 +00:00
michael
8f38a2bf99 * fixed typo: odlval to oldval 1999-03-31 20:30:49 +00:00
Jonas Maebe
c47a4c3c0f * bugfix for -Ox with internal val code
* internal val code now requires less free registers
  * internal val code no longer needs a temp var for range checking
1999-03-31 17:13:09 +00:00
peter
c5db6f3dfe * last para changed to long for easier pushing with 4 byte aligns 1999-03-26 00:24:15 +00:00
peter
6a802e85d7 * released valintern
+ deffile is now removed when compiling is finished
  * ^( compiles now correct
  + static directive
  * shrd fixed
1999-03-26 00:05:26 +00:00
peter
d0cb5a147a * fixed bugs 212,222,225,227,229,231,233 1999-03-24 23:16:42 +00:00
Jonas Maebe
1e6d667c3b * changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
* in cgi386inl: also range checking for subrange types (compile with "-dreadrangecheck")
  * in cgai386: also small fixes to emitrangecheck
1999-03-16 17:52:52 +00:00
peter
c8f444b65f * ag386bin updates
+ coff writer
1999-02-25 21:02:16 +00:00
peter
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +00:00
pierre
15fa23d912 * unused local removed 1999-02-17 14:21:40 +00:00
pierre
520da0fc92 * pred/succ with overflow check must use ADD DEC !! 1999-02-15 11:40:21 +00:00
florian
9bcf29803e * in some cases a writeln of temp. ansistrings cause a memory leak, fixed 1999-02-05 10:56:19 +00:00
peter
4517f917fd * fixed array of const
* generic platform independent high() support
1999-01-21 22:10:35 +00:00
florian
9920e3ffef * str(...) for ansi/long and widestrings fixed 1999-01-06 12:23:29 +00:00
florian
6283947c69 + again more stuff for int64/qword:
- comparision operators
       - code generation for: str, read(ln), write(ln)
1998-12-11 23:36:06 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
peter
a41f61713d + open strings, $P switch support 1998-11-27 14:50:30 +00:00
peter
a62eb86cde * new int - int conversion -dNEWCNV
* some function renamings
1998-11-26 13:10:39 +00:00
peter
cd9ec74eb5 * fixed length(char) when char is a variable 1998-11-24 17:04:27 +00:00
peter
3037445491 * released useansistring
* removed -Sv, its now available in fpc modes
1998-11-05 12:02:30 +00:00
pierre
eea45c0432 + terminated the include exclude implementation for i386
* enums inside records fixed
1998-10-22 17:11:13 +00:00
pierre
6c1766feed * bug fix for IOCHECK inside a procedure with iocheck modifier
* removed the GPF for unexistant overloading
    (firstcall was called with procedinition=nil !)
  * changed typen to what Florian proposed
    gentypenode(p : pdef) sets the typenodetype field
    and resulttype is only set if inside bt_type block !
1998-10-21 15:12:49 +00:00
pierre
1a77339355 * several memory corruptions due to double freemem solved
=> never use p^.loc.location:=p^.left^.loc.location;
  + finally I added now by default
    that ra386dir translates global and unit symbols
  + added a first field in tsymtable and
    a nextsym field in tsym
    (this allows to obtain ordered type info for
    records and objects in gdb !)
1998-10-20 08:06:37 +00:00
pierre
c3b3abdb65 * undid some changes of Peter that made the compiler wrong
for m68k (I had to reinsert some ifdefs)
  * removed several memory leaks under m68k
  * removed the meory leaks for assembler readers
  * cross compiling shoud work again better
    ( crosscompiling sysamiga works
     but as68k still complain about some code !)
1998-10-13 16:49:59 +00:00
pierre
bf6369f1b5 * current_module old scanner tagged as invalid if unit is recompiled
+ added ppheap for better info on tracegetmem of heaptrc
    (adds line column and file index)
  * several memory leaks removed ith help of heaptrc !!
1998-10-08 17:17:07 +00:00
peter
4f0915d6e1 * fixed 161,165,166,167,168 1998-10-05 21:33:15 +00:00
peter
369e79adf9 + assert() support 1998-10-05 12:32:44 +00:00
peter
e2badc5910 * fix for tp7 1998-10-02 17:04:51 +00:00
peter
a6d82d07b6 * support for inc(pointer,value) which now increases with value instead
of 0*value :)
1998-10-02 10:35:09 +00:00
pierre
d11f7636be + added vmt_offset in tobjectdef.write for fututre use
(first steps to have objects without vmt if no virtual !!)
  + added fpu_used field for tabstractprocdef  :
    sets this level to 2 if the functions return with value in FPU
    (is then set to correct value at parsing of implementation)
    THIS MIGHT refuse some code with FPU expression too complex
    that were accepted before and even in some cases
    that don't overflow in fact
    ( like if f : float; is a forward that finally in implementation
     only uses one fpu register !!)
    Nevertheless I think that it will improve security on
    FPU operations !!
  * most other changes only for UseBrowser code
    (added symtable references for record and objects)
    local switch for refs to args and local of each function
    (static symtable still missing)
    UseBrowser still not stable and probably broken by
    the definition hash array !!
1998-09-21 08:45:05 +00:00
peter
634686534e * merged fixes 1998-09-20 12:26:35 +00:00
peter
c72691c843 + pass_2 for cg386
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +00:00
peter
181d4769a2 * all internal RTL functions start with FPC_ 1998-09-14 10:43:44 +00:00
florian
b74af9c243 * some fixes to get -Or work:
- inc/dec didn't take care of CREGISTER
    - register calculcation of inc/dec was wrong
    - var/const parameters get now assigned 32 bit register, but
      const parameters only if they are passed by reference !
1998-09-05 23:03:57 +00:00
peter
58c2d999f0 * updated some error messages 1998-09-04 08:41:36 +00:00
peter
0eb6dd34aa * secondinline moved to cg386inl 1998-08-31 12:22:14 +00:00