Commit Graph

197 Commits

Author SHA1 Message Date
Jonas Maebe
3413faf00d * Darwin's assembler assumes that all labels starting with 'L' are local
-> rename symbols starting with 'L'
2004-01-04 21:10:04 +00:00
peter
6b3c925f64 * don't lowercase enumnames 2003-12-24 20:51:11 +00:00
florian
6d3d97e845 * first fixes to compile the x86-64 system unit 2003-12-24 01:47:22 +00:00
florian
b52cee6639 * fixed ppc inlining stuff
* fixed wrong unit writing
  + added some sse stuff
2003-12-21 19:42:42 +00:00
florian
2258e941af + inlined procedures inherit procinfo flags 2003-12-16 21:29:24 +00:00
marco
9b3b94883b * always generate RTTI patch from peter 2003-12-12 12:09:40 +00:00
peter
84b1451a34 * tai_const.create_32bit changed to cardinal 2003-12-08 22:34:24 +00:00
peter
f663d2488f * cross unit inlining fixed 2003-11-10 22:02:52 +00:00
florian
82b7c0c9cc * tstoreddef.getcopy returns now an errordef instead of nil; this
allows easier error recovery
2003-11-08 23:31:27 +00:00
marco
094ab8b446 * fix from Peter arraysize warning (nav Newsgroup msg) 2003-11-05 14:18:03 +00:00
peter
aadc6dbf2b * fix check for valid procdef in property rtti 2003-11-01 15:50:03 +00:00
peter
75e5a6e867 * procsym.deref derefs only own procdefs
* reset paracount in procdef.deref so a second deref doesn't increase
    the paracounts to invalid values
2003-10-29 21:56:28 +00:00
peter
cac39ccfd4 * renamed mangeldname_prefix to make_mangledname and made it more
generic
  * make_mangledname is now also used for internal threadvar/resstring
    lists
  * Add P$ in front of program modulename to prevent duplicated symbols
    at assembler level, because the main program can have the same name
    as a unit, see webtbs/tw1251b
2003-10-29 19:48:50 +00:00
peter
4a1ecb07d1 * splitted buildderef and buildderefimpl to fix interface crc
calculation
2003-10-23 14:44:07 +00:00
peter
6878c55c80 * write derefdata in a separate ppu entry 2003-10-22 20:39:59 +00:00
peter
34d0dff840 * fix counting of parameters when loading ppu 2003-10-21 18:14:49 +00:00
peter
0939085ab1 * commented out more obsolete constants 2003-10-17 15:08:34 +00:00
peter
ec2e200e42 * fixed ppc build 2003-10-17 14:52:07 +00:00
peter
d0de3b3ea8 * 64k registers supported
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
303b5252e4 * removed is_visible_for_proc
* search also for class overloads when finding interface
    implementations
2003-10-13 14:05:12 +00:00
florian
1df13c788c * fixed some MMX<->SSE
* started to fix ppc, needs an overhaul
  + stabs info improve for spilling, not sure if it works correctly/completly
  - MMX_SUPPORT removed from Makefile.fpc
2003-10-11 16:06:42 +00:00
peter
fb81b7ebbb * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation
2003-10-10 17:48:13 +00:00
peter
c56c47fbc0 * Add calling convention in fullprocname when it is specified 2003-10-07 20:43:49 +00:00
peter
625de786dc * tsymlist.def renamed to tsymlist.procdef
* tsymlist.procdef is now only used to store the procdef
2003-10-07 16:06:30 +00:00
florian
6684d2c520 + added basic olevariant support 2003-10-06 22:23:41 +00:00
peter
da9f5e2319 * c style array of const generates callparanodes
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
4a4c5a6df2 * don't write procdefs that are released to ppu 2003-10-05 12:56:35 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
peter
00801693bb * protected visibility fixes 2003-10-02 21:13:46 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
florian
d85e1a9bf4 * para items are now reversed for pascal calling conventions 2003-10-01 16:49:05 +00:00
florian
8463d2444f * fixed FullProcName to handle constructors, destructors and operators correctly 2003-10-01 15:32:58 +00:00
peter
c348bd5a68 * don't write parast,localst debug info for externals 2003-10-01 15:00:02 +00:00
peter
d3063f722c * connect parasym to paraitem 2003-09-23 21:03:35 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
b9d09a4e5c * preparations for different default calling conventions
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
f3e9e7a24f * fixed web bug #2669
* cosmetic fix in printnode
  * tobjectdef.gettypename implemented
2003-09-06 22:27:08 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
florian
220e05dd5e * fixed arm concatcopy
+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ...
2003-09-03 11:18:36 +00:00
peter
52c73e80d1 * start of sparc support for newra 2003-08-11 21:18:20 +00:00
peter
09ed47cba6 * don't allow add/assignments for formaldef
* formaldef size changed to 0
2003-07-08 15:20:56 +00:00
Jonas Maebe
f909d6a620 * fixed ppc compilation problems and changed VOLATILE_REGISTERS for x86
so that it doesn't include ebp and esp anymore
2003-07-06 21:50:33 +00:00
daniel
268bfcf784 * Fixed register allocator. *Lots* of fixes. 2003-07-06 15:31:20 +00:00
peter
b7d99ec934 * paraloc splitted in callerparaloc,calleeparaloc
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
peter
bfb8ae2151 * sym,def resolving partly rewritten to support also parent objects
not directly available through the uses clause
2003-06-25 18:31:23 +00:00
Jonas Maebe
404d344d92 * lots of newra fixes (need getfuncretparaloc implementation for i386)!
* renamed all_intregisters to volatile_intregisters and made it
    processor dependent
2003-06-17 16:34:44 +00:00
peter
d6f431a5a9 * set parast.next to the owner of the procdef 2003-06-08 11:41:21 +00:00
peter
e7975c7592 * re-resolving added instead of reloading from ppu
* tderef object added to store deref info for resolving
2003-06-07 20:26:32 +00:00
peter
28ebc69c8f * removed changesettype because that will change the definition
of the setdef forever and can result in a different between
    original interface and current implementation definition
2003-06-05 20:05:55 +00:00
daniel
41e0bc4cec * Register allocator finished 2003-06-03 13:01:59 +00:00