Commit Graph

164 Commits

Author SHA1 Message Date
peter
4d67ae9f31 * fix check for procedure without parameters
* calling constructor as member will not allocate memory
2003-06-03 21:05:48 +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
072a55b73e * methodpointer self pushing fixed 2003-05-25 11:34:17 +00:00
peter
b1369666c4 * inline fixes 2003-05-25 08:59:16 +00:00
Jonas Maebe
527153658e * added missing firstpass for callparatemp code 2003-05-24 17:16:37 +00:00
peter
8ff5792776 * remove some unit dependencies
* current_procinfo changes to store more info
2003-05-23 14:27:35 +00:00
Jonas Maebe
56b4360422 * fixed callparatemp for ansi/widestring and interfacecoms 2003-05-17 14:05:58 +00:00
Jonas Maebe
cb279b2029 * changed tt_persistant to tt_persistent :)
* tempcreatenode now doesn't accept a boolean anymore for persistent
    temps, but a ttemptype, so you can also create ansistring temps etc
2003-05-17 13:30:08 +00:00
peter
abca40f041 * regvar fixes 2003-05-16 14:33:31 +00:00
Jonas Maebe
bfd98ec80d * fixed callparatemp so it works with vs_var, vs_out and formal const
parameters
2003-05-14 19:35:50 +00:00
peter
b52ba06662 * constructors return in register 2003-05-13 20:53:41 +00:00
peter
a467b84faa * fixed various crashes 2003-05-13 15:18:49 +00:00
peter
26d78ff5c9 * moved implicit exception frame from ncgutil to psub
* constructor/destructor helpers moved from cobj/ncgutil to psub
2003-05-11 21:37:03 +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
1a2eedd767 * self moved to hidden parameter
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +00:00
peter
e2cbae0ff1 * vs_hidden replaced by is_hidden boolean 2003-05-05 14:53:16 +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
Jonas Maebe
b19a9cfc0a * do callparatemp stuff only after the parameters have been firstpassed,
because some nodes are turned into calls during the firstpass
2003-04-27 09:08:44 +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
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
peter
c21ca3dfa0 + added currency support based on int64
+ is_64bit for use in cg units instead of is_64bitint
  * removed cgmessage from n386add, replace with internalerrors
2003-04-23 20:16:03 +00:00
peter
32d79d4f80 * fix warning for calling constructor inside constructor 2003-04-23 13:21:06 +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
47489f2376 * firstpass uses expectloc
* checks if there are differences between the expectloc and
    location.loc from secondpass in EXTDEBUG
2003-04-22 23:50:22 +00:00
peter
8edbb7afed * fix insert_typeconv to handle new varargs which don't have a
paraitem set
2003-04-22 09:53:33 +00:00
peter
1bfa0a6ba3 * don't firstpass typen 2003-04-11 16:02:05 +00:00
peter
d6838c82b4 * support subscript,vec for setting methodpointer varstate 2003-04-11 15:51:04 +00:00
peter
8da3f59d32 * vs_hidden released 2003-04-10 17:57:52 +00:00
Jonas Maebe
ffb79851e6 * more vs_invisible fixes 2003-04-07 11:58:22 +00:00
Jonas Maebe
a4af1a61e1 * fixed VS_HIDDEN for high parameter so it works again 2003-04-07 10:40:21 +00:00
peter
6a16389f67 * moved generic code from n386cal to ncgcal, i386 now also
uses the generic ncgcal
2003-04-04 15:38:56 +00:00
peter
07f1898c68 * fix missing self setting for method to procvar conversion in
tp_procvar mode
2003-03-17 18:54:23 +00:00
peter
830ea4e876 * support DefaultHandler and anonymous inheritance fixed
for message methods
2003-03-17 16:54:41 +00:00
peter
ec66760702 * store symoptions also for procdef
* check symoptions (private,public) when calculating possible
    overload candidates
2003-03-17 15:54:22 +00:00
daniel
86bcea6ef5 * Code generator converted to new register notation
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
peter
34de6782a5 * convert_l3 convertlevel added. This level is used for conversions
where information can be lost like converting widestring->ansistring
    or dword->byte
2003-01-16 22:13:51 +00:00
peter
00e2ee165b * merged methodpointer fixes from 1.0.x 2003-01-15 01:44:32 +00:00
peter
970f5d9112 * only check for auto inherited in objectsymtable 2003-01-12 17:52:07 +00:00
peter
23f6b91c4a * extended information about overloaded candidates when compiled
with EXTDEBUG
2003-01-09 21:45:46 +00:00
Jonas Maebe
ed5a4a6977 * fixed check for whether or not a high parameter was already generated
* no type checking/conversions for invisible parameters
2002-12-26 18:24:33 +00:00
florian
c7ca2ff901 + some stuff for the new hidden parameter handling added 2002-12-15 22:50:00 +00:00
peter
772d7147cd * give sign difference between ordinals a small penalty. This is
needed to get word->[longword|longint] working
2002-12-15 21:34:15 +00:00
florian
1da30f2610 * tcallnode.paraitem introduced, all references to defcoll removed 2002-12-15 21:30:12 +00:00
peter
5ebf9afd63 * fix crash with default parameters 2002-12-15 20:59:58 +00:00
peter
a2a1a36e83 * ignore vs_hidden parameters when choosing overloaded proc 2002-12-15 11:26:02 +00:00
peter
d611c25599 * tcallnode.det_resulttype rewrite, merged code from nice_ncal and
the old code. The new code collects the information about possible
    candidates only once resultting in much less calls to type compare
    routines
2002-12-11 22:42:28 +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
peter
cab4c8879f * only compile cs_fp_emulation support when cpufpuemu is defined
* define cpufpuemu for m68k only
2002-12-06 16:56:57 +00:00