Commit Graph

333 Commits

Author SHA1 Message Date
Jonas Maebe
7f911c2f4a * Never generate a "main" symbol for PASCALMAIN for Darwin and classic
Mac OS, they use a C-main in their system unit
2004-01-04 21:08:09 +00:00
peter
83abfdc39d * check unit name when expected unitname > 8 chars 2003-12-12 19:42:21 +00:00
peter
fa52c0e3a0 * don't allow duplicate uses
* fix wrong circular dependency
2003-12-08 22:33:43 +00:00
florian
ea754b9a49 * fixed several pi_do_call problems 2003-11-29 20:13:25 +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
b327c20b12 * cleanup of the entry and exit code insertion 2003-10-24 17:40:23 +00:00
peter
fcabdbbf35 * fixed unitsym-globalsymtable relation so the uses of a unit
is counted correctly
2003-10-22 15:22:33 +00:00
peter
276688dbb4 * fixed memleak for initfinalcode
* exit from generatecode when there are already errors
2003-10-21 15:14:33 +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
michael
953269fcff + Patch from Wiktor Sywula for watcom support 2003-09-30 08:39:50 +00:00
peter
ddc50a91ca * add missing release of main_proc 2003-09-23 18:03:08 +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
daniel
49e539ac8d * Adding register allocation order 2003-09-09 20:59:27 +00:00
peter
05a15df3c2 * use register with least interferences in spillregister 2003-09-09 15:55:44 +00:00
peter
b9d09a4e5c * preparations for different default calling conventions
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
22f1ff8da4 * merged Wiktor's Watcom patches in 1.1 2003-09-05 17:41:12 +00:00
peter
90782badfe * reload flagged units when interface is loaded 2003-08-23 22:29:24 +00:00
peter
8cf0c122f4 * remove convert_registers 2003-08-21 14:47:41 +00:00
peter
d113495cf1 * fixed stackalloc to not allocate localst.datasize twice
* order of stackalloc code fixed for implicit init/final
2003-08-20 17:48:49 +00:00
daniel
ebb1f3a361 * New register coding now mandatory, some more convert_registers calls
removed.
2003-08-20 09:07:00 +00:00
Jonas Maebe
177d57f22c * split en_exit_code into a part that may allocate a register and a part
that doesn't, so the former can be done before the register colouring
    has been performed
2003-07-23 11:04:15 +00:00
peter
32d076480b * framepointer fixes for sparc
* parent framepointer code more generic
2003-07-06 17:58:22 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
77d641fa2a * init/final of procedure data splitted from genentrycode
* use asmnode getposition to insert final at the correct position
    als for the implicit try...finally
2003-06-09 12:23:29 +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
mazen
af653c3dd7 - removed unneeded ifdefs
- removed unneeded cases for sparc and x86_64
2003-06-03 20:21:45 +00:00
daniel
41e0bc4cec * Register allocator finished 2003-06-03 13:01:59 +00:00
peter
047a066711 * procinlinenode removed
* aktexit2label removed, fast exit removed
  + tcallnode.inlined_pass_2 added
2003-05-26 21:17:17 +00:00
peter
aaf6114364 * moved Comment calls to messge file 2003-05-25 10:27:12 +00:00
peter
345228fd29 * defer codegeneration for nested procedures 2003-05-22 21:31:35 +00:00
peter
92ee1804b6 * removed selfpointer_offset, vmtpointer_offset
* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals
2003-05-15 18:58:53 +00:00
florian
76f18e2fc9 * fixed implicit init/final code for units, stack frame was wrong for ppc 2003-05-11 19:31:28 +00:00
peter
dfd469b7a3 * fix stabs generation for implicit initfinal 2003-04-28 21:19:02 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66 * aktprocdef cleanup, aktprocdef is now always nil when parsing
a new procdef declaration
  * aktprocsym removed
  * lexlevel removed, use symtable.symtablelevel instead
  * implicit init/final code uses the normal genentry/genexit
  * funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
florian
0284016ee9 * fixed several issues with powerpc
+ applied a patch from Jonas for nested function calls (PowerPC only)
  * ...
2003-04-23 12:35:34 +00:00
peter
aca9555704 * Use the original unitname when defining a unitsym 2003-04-12 15:13:03 +00:00
Tomas Hajny
8e7124f9f8 + emx target added 2003-03-23 23:11:17 +00:00
peter
bb15f5641e *** empty log message *** 2003-03-17 22:20:08 +00:00
peter
dab938e084 * fix import linking under linux 2003-03-17 13:36:39 +00:00
daniel
86bcea6ef5 * Code generator converted to new register notation
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
mazen
9ad1d0ffe2 * fixing bug related to errornous program main entry stack frame 2003-02-06 22:36:55 +00:00
peter
2b0e576cbe * tai_const_symbol.createdataname added 2003-01-30 21:46:20 +00:00
Tomas Hajny
23591531b8 * correction from rev. 1.88 put back 2003-01-11 11:19:54 +00:00
daniel
55a161bbbf * Tregister changed into a record 2003-01-08 18:43:56 +00:00
florian
b59b436130 * x86-64 compiles
+ very basic support for float128 type (x86-64 only)
2003-01-05 13:36:53 +00:00
peter
a77c4e01dd * insert unitsym with the name as specified in the uses list 2002-12-29 18:17:23 +00:00
peter
bbf8bddbb4 * unit loading changed to first register units and load them
afterwards. This is needed to support uses xxx in yyy correctly
  * unit dependency check fixed
2002-12-29 14:57:50 +00:00
Tomas Hajny
6fff1b96bd * another (hopefully final ;-) ) fix for not linked import libraries for units with no code 2002-12-27 19:09:33 +00:00
peter
abbbc7443d * Use FixFilename for specified unit sourcefile in uses 2002-12-24 23:32:56 +00:00