Commit Graph

133 Commits

Author SHA1 Message Date
carl
9d4f336f74 + fpu emulation helpers (ppu checking also) 2002-08-15 15:09:41 +00:00
florian
af4302bc67 * more fixes for ppc calling conventions 2002-08-13 21:40:55 +00:00
peter
ac71268ce6 * saving of asmsymbols in ppu supported
* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
florian
030eae46de * a couple of interface related fixes 2002-08-09 07:33:01 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
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
armin
ed209a3961 + initialize threadvars defined local in units 2002-03-28 16:07:52 +00:00
florian
b60666ae1f + parasym to tparaitem added 2001-12-06 17:57:33 +00:00
carl
8393b73e58 * updated record size 2001-09-22 04:51:58 +00:00
peter
f88f6eb571 * rtti/init table updates
* rttisym for reusable global rtti/init info
  * support published for interfaces
2001-08-30 20:13:52 +00:00
peter
49481a0c63 * v10 merges 2001-06-27 21:37:36 +00:00
peter
e24474d9ac * -Ur switch (merged)
* masm fixes (merged)
  * quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
peter
25e006b364 * endian define 2001-05-18 22:28:59 +00:00
peter
6c7708c1e0 * ppu object to class rewrite
* move ppu read and write stuff to fppu
2001-05-06 14:49:16 +00:00
florian
82a6a7ed95 + basic variant type support in the compiler 2001-03-22 00:10:58 +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
peter
451723647e * symtable splitted, no real code changes 2000-10-31 22:02:46 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
peter
0d881bb510 * new ppu version 2000-08-13 13:04:38 +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
f63815853e CRC stuff moved to CRC unit 2000-05-15 13:19:04 +00:00
pierre
7c324b13b2 * adapted to Delphi 3 2000-05-12 08:58:51 +00:00
florian
889e43db8a * fixed some vmt problems, especially related to overloaded methods
in objects/classes
2000-05-11 06:53:48 +00:00
pierre
97417dcf26 * ORDERSOURCES released 2000-02-29 21:58:31 +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
peter
11b8f997c7 * INFTPPU define to write the ppu of the interface to .ppu.intf 1999-12-02 11:29:07 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
peter
312ca8700f * makefile updates to work with new fpcmake 1999-11-23 09:42:38 +00:00
pierre
e4bfedf924 * Nextoverloading ordering fix 1999-11-21 01:42:37 +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
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
5db2ac22e5 * ppu header writting now uses currentppuversion 1999-09-17 09:14:56 +00:00
pierre
fc0d67a752 + error if PPU modulename is different from what is searched
(8+3 limitations!)
  + cond ORDERSOURCES to allow recompilation of FP
    if symppu.inc is changed (need PPUversion change!)
1999-09-16 13:27:08 +00:00
pierre
910372616a * typo correction 1999-09-16 11:34:44 +00:00
florian
a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
pierre
5536344e9f + startup conditionnals stored in PPU file for debug info 1999-08-31 15:47:56 +00:00
pierre
c2abde1296 * tempclosing of ppufiles under dos was wrong 1999-08-30 16:21:40 +00:00
pierre
3d12f8119a + tppufile.tempclose and tempopen added
* some changes so that nothing is writtedn to disk while
    calculating CRC only
1999-08-27 10:48:40 +00:00
michael
85ff3e15db + changes for resourcestrings 1999-08-24 12:01:32 +00:00
peter
926a6c2d3e + normalset,smallset writing 1999-08-15 10:47:48 +00:00
florian
cb114f1453 * more changes to compile for the Alpha 1999-08-02 23:13:19 +00:00
peter
07bb58295b * alignment is now saved in the symtable
* C alignment added for records
  * PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
peter
0d38c66ff0 * fixed linking for units without linking necessary 1999-07-05 16:21:26 +00:00
peter
58cbc3e795 * new link writing to the ppu, one .ppu is needed for all link types,
static (.o) is now always created also when smartlinking is used
1999-07-03 00:29:45 +00:00
peter
a47afc3857 * removed oldppu code
* warning if objpas is loaded from uses
  * first things for new deref writing
1999-05-13 21:59:19 +00:00
florian
47fd93dfa5 * more fixes to get it with delphi running 1999-05-05 09:19:03 +00:00
florian
78d13ec796 * changes to compile it with Delphi 4.0 1999-05-04 21:44:30 +00:00
peter
49786e5fe5 * farpointerdef moved into pointerdef.is_far 1999-04-26 18:29:54 +00:00
peter
884c517b18 * release storenumber,double_checksum 1999-04-26 13:31:24 +00:00
peter
ee1c52c090 * header extended to 40 bytes so there is room for future 1999-04-26 09:33:07 +00:00
peter
d9e1c47d84 * fixes for storenumber 1999-04-17 13:16:19 +00:00
pierre
ab9465df1b + double_checksum code added 1999-04-07 15:39:29 +00:00
peter
1a4dad3029 * renamed loadunit_int -> loadunit 1999-03-02 13:49:18 +00:00
pierre
0669413251 + -b and -bl options work !
+ cs_local_browser ($L+) is disabled if cs_browser ($Y+)
    is not enabled when quitting global section
  * local vars and procedures are not yet stored into PPU
1999-02-22 13:06:52 +00:00
peter
746f2e1510 * save in the ppu if linked with obj file instead of using the
library flag, so the .inc files are also checked
1999-02-16 00:48:23 +00:00
pierre
9709b802ba + linkofiles splitted inot linkofiles and linkunitfiles
because linkofiles must be stored with directory
    to enabled linking of different objects with same name
    in a different directory
1999-02-05 08:54:24 +00:00
peter
6ee9d913cd + farpointer type
* absolutesym now also stores if its far
1998-12-30 22:15:45 +00:00
pierre
65e4bc90c1 * corrected problems with rangecheck
+ added needed code for no rangecheck  in CRC32 functions in ppu unit
  * enumdef lso need its rangenr reset to zero
    when calling reset_global_defs
1998-11-30 16:34:45 +00:00
peter
752857f403 * tp7 didn't like my ifopt H+ :( 1998-11-16 15:41:39 +00:00
peter
aace149d8c * H+ fixes 1998-11-16 12:17:59 +00:00
pierre
dac2986b7f * ppu problems for m68k fixed (at least in cross compiling)
* one last memory leak for sysamiga fixed
  * the amiga RTL compiles now completely !!
1998-10-14 10:45:05 +00:00
peter
8e85a889de + aktmodeswitches 1998-09-24 23:49:05 +00:00
pierre
9589f619d7 * browser bugfixes
was adding a reference when looking for the symbol
    if -bSYM_NAME was used
1998-09-23 15:38:59 +00:00
peter
d7c4af3627 * store number of defs in ppu file 1998-09-21 10:00: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
pierre
be29a0b86d + improvement on the usebrowser part
(does not work correctly for now)
1998-09-18 08:01:35 +00:00
peter
85b4b1fde2 * merge fixes 1998-09-11 15:16:47 +00:00
peter
35a8d2e4fd * m68k and palmos updates from surebugfixes 1998-08-31 12:26:20 +00:00
peter
cc64a929aa * static/shared linking updates 1998-08-17 09:17:43 +00:00
peter
befed16714 * write extended to ppu file
* new version 0.99.7
1998-08-11 15:31:35 +00:00
pierre
e64d70d4cd * removed a remaining ifndef NEWPPU
replaced by ifdef OLDPPU
  * added uf_finalize to ppu unit
1998-06-25 10:51:00 +00:00
peter
c2d5abdfed + targetcpu
* cleaner pmodules for newppu
1998-06-16 08:56:17 +00:00
peter
c614d62eaf * working browser and newppu
* some small fixes against crashes which occured in bp7 (but not in
    fpc?!)
1998-06-13 00:10:04 +00:00
pierre
5ad339b3d8 + added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
  + added C vars with the following syntax
    var C calias 'true_c_name';(can be followed by external)
    reason is that you must add the Cprefix

    which is target dependent
1998-06-09 16:01:33 +00:00
peter
f4db879aed * fixes for newppu, remake3 works now with it 1998-05-28 14:40:25 +00:00
peter
7b28ebd6ef * symtable.pas splitted into includefiles
* symtable adapted for $ifdef NEWPPU
1998-05-27 19:45:02 +00:00
peter
5e9f2c469f + the ppufile object unit 1998-05-12 10:56:07 +00:00