Commit Graph

135 Commits

Author SHA1 Message Date
peter
5e7a1e3729 * removed unused units
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
Jonas Maebe
7fb55bf4e4 + a_loadfpu_* and a_loadmm_* methods in tcg
* register allocation is now handled by a class and is mostly processor
    independent (+rgobj.pas and i386/rgcpu.pas)
  * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
  * some small improvements and fixes to the optimizer
  * some register allocation fixes
  * some fpuvaroffset fixes in the unary minus node
  * push/popusedregisters is now called rg.save/restoreusedregisters and
    (for i386) uses temps instead of push/pop's when using -Op3 (that code is
    also better optimizable)
  * fixed and optimized register saving/restoring for new/dispose nodes
  * LOC_FPU locations now also require their "register" field to be set to
    R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
  - list field removed of the tnode class because it's not used currently
    and can cause hard-to-find bugs
2002-03-31 20:26:33 +00:00
peter
7edaf1332f * fixed firstpass when det_resulttype returns an error 2001-10-20 17:23:43 +00:00
peter
915b5cd7a9 * split constsym.value in valueord,valueordptr,valueptr. The valueordptr
is used for holding target platform pointer values. As those can be
    bigger than the source platform.
2001-09-02 21:18:28 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +00:00
peter
f4ca079850 * fixed EXTDEBUG 2001-07-06 15:29:39 +00:00
peter
5677fbe1b4 * fixed crash in labelnode
* easier detection of goto and label in try blocks
2001-04-15 09:48:29 +00:00
peter
a7cf57524e * symtable change to classes
* range check generation and errors fixed, make cycle DEBUG=1 works
  * memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
4e2655cdc5 * resulttype rewrite 2001-04-02 21:20:29 +00:00
peter
2c2b7bbf1e * extdebug fixes 2000-12-18 21:56:52 +00:00
florian
b9796f6a7f * unused units removed from uses clause
* some changes for widestrings
2000-11-29 00:30:30 +00:00
peter
e171f341a0 * moehrendorf oct 2000 rewrite 2000-10-14 10:14:45 +00:00
peter
38951f5ce1 * lot of compile updates for cg11 2000-10-01 19:48:23 +00:00
peter
27749c067e * more cg11 updates 2000-09-30 16:08:45 +00:00
florian
57a566e53d *** empty log message *** 2000-09-28 19:49:51 +00:00
florian
426905c464 * some errors fix to get more stuff compilable 2000-09-24 21:15:34 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
pierre
e4d06a5485 * problems wih extdebug cond. solved 2000-09-19 23:09:07 +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
Jonas Maebe
79b0cbff40 * fixed unreachable code detection 2000-05-25 12:00:14 +00:00
florian
dfe879d12e * some updates for the newcg 2000-02-17 14:53:42 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
florian
577edbbd3f + compiler checks now if a goto leaves an exception block 1999-12-14 09:58:41 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
b528749138 * Notes/Hints for local syms changed to
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
peter
503d5a1cfa * const parameter is now checked
* better and generic check if a node can be used for assigning
  * export fixes
  * procvar equal works now (it never had worked at least from 0.99.8)
  * defcoll changed to linkedlist with pparaitem so it can easily be
    walked both directions
1999-10-26 12:30:40 +00:00
peter
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
2687d75c38 + constant pointer support which can happend with typecasting like
const p=pointer(1)
  * better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
florian
1609dde2ca * fixed bug #596
* fixed some problems with procedure variables and procedures of object,
    especially in TP mode. Procedure of object doesn't apply only to classes,
    it is also allowed for objects !!
1999-09-11 09:08:31 +00:00
florian
ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase 1999-08-04 00:22:34 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
5befcfad1e * ag386bin doesn't use i386.pas anymore 1999-02-22 02:44:07 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
pierre
c93531b63f * ansistring support in extdebug code 1998-11-23 17:49:03 +00:00
peter
37732325f3 * fixed variant warning with was sometimes said with sets 1998-11-05 14:26:47 +00:00
peter
3d984e5bf1 * m68k compiler compiles again 1998-10-06 20:48:56 +00:00
peter
01ec56bec4 * fixed type node which was always set to void :( 1998-09-24 15:13:44 +00:00
peter
ee6e14cd40 * splitted pass_1 1998-09-23 20:42:22 +00:00
peter
3be1a61de4 * high(arrayconstructor) is now correct
* procvardef support for variant record
1998-09-23 17:49:59 +00:00
florian
7ff17144f4 * problem with with and classes fixed 1998-09-23 15:46:36 +00:00
peter
0f3b84ca23 * overloading fix for array of const 1998-09-23 12:03:51 +00:00
peter
a3fbac27af * first working array of const things 1998-09-23 09:58:48 +00:00
peter
bfc89b2587 + pchar -> string conversion 1998-09-22 15:34:07 +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
florian
16367b50f0 * small compiling problems fixed 1998-09-20 18:00:19 +00:00
florian
84e20b561c * some things regarding ansistrings fixed 1998-09-20 17:46:47 +00:00