Commit Graph

221 Commits

Author SHA1 Message Date
peter
6878c55c80 * write derefdata in a separate ppu entry 2003-10-22 20:39:59 +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
a28d911c98 * IncompatibleTypes() added that will include unit names when
the typenames are the same
2003-10-21 18:16:13 +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
peter
e27d6f67da * inline supported again, LOC_REFERENCEs are used to pass the
parameters
  * inlineparasymtable,inlinelocalsymtable removed
  * exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
052f635a45 * don't report unused hidden parameters 2003-10-03 14:43:29 +00:00
peter
00801693bb * protected visibility fixes 2003-10-02 21:13:46 +00:00
peter
7900a544a3 * searchsym_type to search for type definitions. It ignores
records,objects and parameters
2003-10-01 19:05:33 +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
375820ccae * unchain operators before adding to overloaded list 2003-08-23 22:31:08 +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
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
72a89db7f7 * para can be the same as function name in delphi 2003-06-09 18:26:27 +00:00
peter
5540304b85 * check parast when inserting in localst 2003-06-08 11:40:00 +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
072a55b73e * methodpointer self pushing fixed 2003-05-25 11:34:17 +00:00
peter
8ff5792776 * remove some unit dependencies
* current_procinfo changes to store more info
2003-05-23 14:27:35 +00:00
peter
1d3a842c07 * fix dup check for hiding the result varsym in localst, the result
sym was already in the localst when adding the locals
2003-05-16 14:32:58 +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
peter
4ba5171726 * fix crash with hiding function result. The function result is now
inserted as last so the symbol that we are going to insert is the
    result and needs to be renamed instead of the already existing
    symbol
2003-05-13 15:17:13 +00:00
peter
15b0132f6f * tloadnode does not support objectsymtable,withsymtable anymore
* withnode cleanup
  * direct with rewritten to use temprefnode
2003-05-11 14:45:12 +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
peter
fe96aad6d6 * vo_is_result flag added for the special RESULT symbol 2003-04-26 00:33:07 +00:00
peter
f4b818fc1d * removed funcretn,funcretsym, function result is now in varsym
and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
Jonas Maebe
06e03ecd23 * calculation of parameter and resultlocation offsets now depends on
tg.direction instead of if(n)def powerpc
2003-04-16 07:53:11 +00:00
Jonas Maebe
ec71805aa8 * several ppc/generic result offset related fixes. The "normal" result
offset seems now to be calculated correctly and a lot of duplicate
    calculations have been removed. Nested functions accessing the parent's
    function result don't work at all though :(
2003-04-05 21:09:31 +00:00
peter
7548e808d9 * ignore hints for default parameter values 2003-03-17 18:56:49 +00:00
peter
830ea4e876 * support DefaultHandler and anonymous inheritance fixed
for message methods
2003-03-17 16:54:41 +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
peter
c466e75da1 * fix crashes when searching symbols 2002-12-27 18:07:44 +00:00
peter
9147303907 * duplicate procsym-unitsym fix 2002-12-25 01:26:56 +00:00
peter
a261bbcfac * type redefine fix for tb0437 2002-12-21 13:07:34 +00:00
carl
081a4aab35 * 3% memory optimization
* changed some types
  + added type checking with different size for call node and for
     parameters
2002-12-07 14:27:07 +00:00
peter
dc66eafb0b * merged cdecl and array fixes 2002-12-06 17:51:09 +00:00
carl
93d011d184 + checking for symbols used with hint directives is done mostly in pexpr
only now
2002-11-30 11:12:48 +00:00
carl
5c5db0e0a3 + unimplemented hint directive added
* hint directive parsing implemented
  * warning on these directives
2002-11-29 22:31:19 +00:00
peter
3d696d9c7c * tvarsym.get_push_size replaced by paramanager.push_size 2002-11-27 20:04:09 +00:00
carl
e15d019b58 + small optimization for speed 2002-11-22 22:45:49 +00:00
pierre
65c85744da * correct a stabs generation problem that lead to use errordef in stabs 2002-11-19 16:26:33 +00:00
peter
a496dbe1ff * pass proccalloption to ret_in_xxx and push_xxx functions 2002-11-18 17:31:54 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
carl
8e942d82bb + bss / constant alignment fixes
* avoid incrementing address/datasize in local symtable for const's
2002-11-09 15:29:28 +00:00
peter
7489b6629f * threadvars need 4 bytes extra for storing the threadvar index 2002-10-14 19:44:43 +00:00
peter
6d4fcce014 * Add finalization of typed consts
* Finalization of globals in the main program
2002-10-06 19:41:30 +00:00
carl
67486c96c3 * fixes for Delphi 6 compilation
(warning : Some features do not work under Delphi)
2002-10-05 12:43:23 +00:00
peter
90e8dc3c41 * real fix internalerror for dup ids in union sym 2002-09-09 19:41:46 +00:00
peter
a540ff122c * tdicationary.replace added to replace and item in a dictionary. This
is only allowed for the same name
  * varsyms are inserted in symtable before the types are parsed. This
    fixes the long standing "var longint : longint" bug
  - consume_idlist and idstringlist removed. The loops are inserted
    at the callers place and uses the symtable for duplicate id checking
2002-09-09 17:34:14 +00:00
peter
20af604613 * memdebug enhancements 2002-09-05 19:29:42 +00:00