Commit Graph

164 Commits

Author SHA1 Message Date
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
florian
89cc00f6e4 * classes and interfaces can be stored in integer registers 2003-06-02 22:55:28 +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
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
Jonas Maebe
0836ed1713 * patch from Peter for rtti symbols 2003-05-13 08:13:16 +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
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
florian
9612e57805 * introduced defaultordconsttype to decribe the default size of ordinal constants
on 64 bit CPUs it's equal to cs64bitdef while on 32 bit CPUs it's equal to s32bitdef
  + added defines CPU32 and CPU64 for 32 bit and 64 bit CPUs
  * int64s/qwords are allowed as for loop counter on 64 bit CPUs
2003-05-01 07:59:42 +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
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
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
8da3f59d32 * vs_hidden released 2003-04-10 17:57:52 +00:00
peter
c5efd5c7d5 * no itnernalerror for errordef.concatstabto() 2003-03-18 16:25:50 +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
carl
59d3edeec7 * Several bugfixes for m68k target (register alloc., opcode emission)
+ VIS target
  + Generic add more complete (still not verified)
2003-02-02 19:25:54 +00:00
pierre
2a17241d66 * set sizes needs to be passes in bits not bytes to stabs info 2003-01-21 14:36:44 +00:00
peter
da14652287 * fixed tprocdef.is_addressonly 2003-01-16 22:11:33 +00:00
peter
00e2ee165b * merged methodpointer fixes from 1.0.x 2003-01-15 01:44:32 +00:00
peter
2721d341f0 * merged some verbosity options.
* V_LineInfo is a verbosity flag to include line info
2003-01-09 21:52:37 +00:00
peter
80b463da2e * po_addressonly added to retrieve the address of a methodpointer
only, this is used for @tclass.method which has no self pointer
2003-01-06 21:16:52 +00:00
florian
07110d20f9 + added proper support of type = type <type>; for simple types 2003-01-05 15:54:15 +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
cf5d395f0a * update self parameter only for methodpointer and methods 2003-01-02 19:49:00 +00:00
peter
59b98f4047 * tprocdef.gettypename implemented 2002-12-29 18:25:59 +00:00
peter
791300bac9 * write class methods in fullname 2002-12-27 15:23:09 +00:00
florian
3f5541e996 + some front end stuff for vs_hidden added 2002-12-15 19:34:31 +00:00
peter
a2a1a36e83 * ignore vs_hidden parameters when choosing overloaded proc 2002-12-15 11:26:02 +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