Commit Graph

5602 Commits

Author SHA1 Message Date
peter
cb16846e3b * fixed static class check for properties 2003-08-23 22:29:51 +00:00
peter
90782badfe * reload flagged units when interface is loaded 2003-08-23 22:29:24 +00:00
peter
0526b6fd9b * don't check size for open array in valid_for_assign 2003-08-23 18:52:18 +00:00
peter
f86df421ce * only check for size matches when parameter is enum,ord,float 2003-08-23 18:42:57 +00:00
peter
17d7fb5a03 * allow typeof(self) in class methods 2003-08-23 18:41:52 +00:00
daniel
889bd81bdb * Register allocator bugfix for h2pas 2003-08-23 10:46:21 +00:00
olle
399fac564f + added xxx_regname stuff
* made the mpw asm writer work again
2003-08-22 12:30:43 +00:00
florian
dc22fe7863 * continued to work on the arm skeleton 2003-08-21 23:23:59 +00:00
olle
b9394fd616 - removed parameter from fpc_iocheck 2003-08-21 22:14:16 +00:00
peter
6b12cc11e5 * first spill the registers of top_ref before spilling top_reg 2003-08-21 17:20:19 +00:00
peter
4b44f9b557 * fixed copy support for array of char,pchar in $H+ mode
* fixed copy support for pwidechar,array of widechar
2003-08-21 15:10:51 +00:00
peter
b9afdc6a36 * fix reg-supreg range check error 2003-08-21 14:48:36 +00:00
peter
8cf0c122f4 * remove convert_registers 2003-08-21 14:47:41 +00:00
florian
20b5945be0 * arm compiler can be compiled; far from being working 2003-08-21 03:14:00 +00:00
daniel
ff2c9d870b * convert_registers call removed from t_win32.pas 2003-08-20 20:50:18 +00:00
daniel
cdb8a15f4a * Some more R_NO changes
* Preventive code to loadref added
2003-08-20 20:29:06 +00:00
daniel
81d4cc15c7 * Fixed the fixed trouble 2003-08-20 20:13:08 +00:00
daniel
78ee625c7e * Fixed some R_NO trouble 2003-08-20 20:11:24 +00:00
daniel
2b0cd432ca * Small NOTARGETWIN32 conditional tweak 2003-08-20 19:28:21 +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
2ce08bd157 * Some old register convention code removed
* A few changes to eliminate a few lines of code
2003-08-20 16:52:01 +00:00
peter
2a5f30418e * define NOOPT until optimizer is fixed 2003-08-20 15:50:35 +00:00
florian
abf9504b0e * more arm stuff 2003-08-20 15:50:12 +00:00
daniel
7203890d79 * Fixed PowerPC compilation 2003-08-20 14:28:52 +00:00
daniel
ebb1f3a361 * New register coding now mandatory, some more convert_registers calls
removed.
2003-08-20 09:07:00 +00:00
daniel
82b0cf41a6 * Made internal assembler use new register coding 2003-08-20 07:48:03 +00:00
daniel
41211715ff * Corrected a comment. 2003-08-19 13:58:33 +00:00
mazen
aded38f845 + implemented gas_regname based on convert_register_to_enum std_Reg2str 2003-08-19 13:22:51 +00:00
mazen
412188e68f - No more used in sources. 2003-08-19 11:54:48 +00:00
daniel
8cb289e65f * Fixed PowerPC compilation 2003-08-19 11:53:03 +00:00
Jonas Maebe
11e98e7d73 * some newra optimizations (eliminate lots of moves between registers) 2003-08-18 21:27:00 +00:00
daniel
86fde70d18 * Improved -sr on PowerPC ATT asm writer 2003-08-18 11:58:14 +00:00
marco
4c571efdda * fix for 2592, pushw imm 2003-08-18 11:52:57 +00:00
olle
c6f4df63e6 + cleaning up in proc entry and exit, now calc_stack_frame always is used. 2003-08-18 11:50:55 +00:00
daniel
787fcc5797 * Made ATT asm writer work with -sr 2003-08-18 11:49:47 +00:00
olle
4c5827fbee + added asm directive ALIGNING OFF to avoid unexpected aligning by the assembler 2003-08-18 11:47:15 +00:00
daniel
0263254289 * Now -sr works... 2003-08-17 21:11:00 +00:00
daniel
63e1b70931 * Notranslation changed into -sr functionality 2003-08-17 20:47:47 +00:00
Jonas Maebe
4f8c390198 * fixed regvars so they work with newra (at least for ppc)
* fixed some volatile register bugs
  + -dnotranslation option for -dnewra, which causes the registers not to
    be translated from virtual to normal registers. Requires support in
    the assembler writer as well, which is only implemented in aggas/
    agppcgas currently
2003-08-17 16:59:20 +00:00
Jonas Maebe
48bc5d09e0 * fixed compilation of ppc compiler with -dnewra 2003-08-17 16:53:19 +00:00
daniel
7d3bfaaed4 * Precoloured nodes now have an infinite degree approached with 255,
like they should.
2003-08-17 14:32:48 +00:00
daniel
45f9851e87 * Another register allocator bug fixed.
* cpu_registers set to 6 for i386
2003-08-17 08:48:02 +00:00
marco
c461204cdc * fix from Jonas. 2003-08-16 18:56:40 +00:00
Jonas Maebe
ddcab79323 * set correct localsymtable fixup already in handle_body_start instead
of in after_pass1, as it's necessary to get the correct offsets for
    the calleeside paralocs (and those are now setup in the generic
    handle_body_start)
2003-08-16 14:26:44 +00:00
florian
2b83637905 * several arm related stuff fixed 2003-08-16 13:23:01 +00:00
daniel
878498029f * Fixed newra compilation 2003-08-15 14:44:20 +00:00
peter
52c73e80d1 * start of sparc support for newra 2003-08-11 21:18:20 +00:00
mazen
f8be2992fd - dupplicated code removed 2003-08-11 14:22:06 +00:00
mazen
3f76298b6b + added support of NewRA in compilation of ppcsparc 2003-08-11 13:21:01 +00:00
mazen
a18dbbb2e6 - removed uncommon file header! 2003-08-11 09:15:53 +00:00
mazen
4df534c5e2 - Code cleaning : removed unused commentd units which equivalent were already added. 2003-08-11 09:05:09 +00:00
peter
6731abb0db * fixed some reported bugs 2003-08-10 17:25:23 +00:00
daniel
42c320cb29 * cs_regalloc renamed to cs_regvars to avoid confusion with register
allocator
  * Some preventive changes to i386 spillinh code
2003-08-09 18:56:54 +00:00
Jonas Maebe
2a3c6e0de5 * fixed conversion from signed value to floats if the compiler is
compiled with a 1.0.x compiler
2003-08-09 15:28:29 +00:00
Jonas Maebe
b1a903fd4d * fixed bug in load_fpu_location found by Olle 2003-08-08 19:01:02 +00:00
olle
c2fe8dbd99 * merged macos entry/exit code generation into the general one. 2003-08-08 15:49:24 +00:00
daniel
a4495e3867 * Made code generator reverse or/add/and/xor/imul instructions when
possible to reduce the slowdown of spills.
2003-08-03 20:38:00 +00:00
daniel
4984afb8f0 - Removed cmpop from Ti386addnode.second_addstring 2003-08-03 20:19:43 +00:00
daniel
557ac8b02e * Fixed a register allocator bug
* Figured out why -dnewra generates superfluous "mov reg1,reg2"
    statements: changes in location_force. These moves are now no longer
    constrained so they are optimized away.
2003-08-03 14:09:50 +00:00
florian
612a8cbbb1 * basic stuff fixed 2003-07-26 00:55:57 +00:00
Jonas Maebe
a783aea0b9 * fixed bogus abstract method warnings 2003-07-25 09:54:57 +00:00
Jonas Maebe
3c5d94dc64 * fixed nil pointer access 2003-07-24 10:45:40 +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
Jonas Maebe
af784cfb1e * final (?) fix to in-code 2003-07-23 11:02:53 +00:00
Jonas Maebe
a3cb0d2002 * don't use rg.getregisterint() anymore in g_stackframe_entry_*, because
the register colouring has already occurred then, use a hard-coded
    register instead
2003-07-23 11:02:23 +00:00
Jonas Maebe
355f84758e * several rg.allocexplicitregistersint/rg.deallocexplicitregistersint
pairs round calls to helpers
2003-07-23 11:01:14 +00:00
Jonas Maebe
356ee447ba * "lastsaveintreg" is RS_R31 instead of RS_R27 with -dnewra, because
there are no scratch regs anymore
2003-07-23 11:00:09 +00:00
Jonas Maebe
5ab3ea0af5 - disabled some debugging code 2003-07-23 10:58:06 +00:00
florian
5aba45edbf * very basic stuff for the arm 2003-07-21 16:35:30 +00:00
Jonas Maebe
d191387d5a * fixed 64bit int results with -dnewra (you can't free both registers and
then allocate two new ones, because then the registers could be reversed
    afterwards -> you get something like "movl %eax, %edx; movl %edx,%eax")
2003-07-21 13:51:50 +00:00
Jonas Maebe
7bc1557f5c * add_edges_used() is now also called for registers allocated with
getexplicitregisterint()
  * writing the intereference graph is now only done with -dradebug2 and
    the created files are now called "igraph.<module_name>"
2003-07-21 13:32:39 +00:00
florian
d2035fd6b4 * very basic stuff for the arm 2003-07-21 11:52:57 +00:00
Jonas Maebe
d73acd12f6 * fixed newra bug due to the fact that we sometimes need a temp reg
when loading/storing to memory (base+index+offset is not possible)
    and because a reference is often freed before it is last used, this
    temp register was soemtimes the same as one of the reference regs
2003-07-20 20:39:20 +00:00
Jonas Maebe
db3bd69a18 * fixed bug in tcginnode.pass_2 2003-07-20 18:03:27 +00:00
Jonas Maebe
66fcf33869 * fix for threadvars with -dnewra 2003-07-20 16:26:43 +00:00
Jonas Maebe
af61f830d0 * fixed bug in g_concatcopy with -dnewra 2003-07-20 16:15:58 +00:00
peter
1b633246b9 * sparc fixes 2003-07-08 21:23:24 +00:00
peter
09ed47cba6 * don't allow add/assignments for formaldef
* formaldef size changed to 0
2003-07-08 15:20:56 +00:00
peter
3d85d9c2bd * Fix halt() call 2003-07-07 19:59:41 +00:00
peter
6cd9e5efc7 * big endian first allocates high 2003-07-06 22:10:56 +00:00
peter
d03fd8f7e0 * operand order of cmp fixed 2003-07-06 22:10:13 +00:00
peter
d0e4a452e4 * signed compare fixed 2003-07-06 22:09:50 +00:00
peter
3f97c26b4b * shr and div fixed 2003-07-06 22:09:32 +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
Jonas Maebe
d514f33ce4 * committed wrong file previously :( 2003-07-06 21:26:06 +00:00
Jonas Maebe
1846337739 * fixed ppc compiler 2003-07-06 20:25:03 +00:00
peter
32d076480b * framepointer fixes for sparc
* parent framepointer code more generic
2003-07-06 17:58:22 +00:00
peter
ae8e74b45b * cleanup and first sparc implementation 2003-07-06 17:44:12 +00:00
daniel
268bfcf784 * Fixed register allocator. *Lots* of fixes. 2003-07-06 15:31:20 +00:00
Jonas Maebe
117d6934a1 + first spill_registers implementation, most likely still very buggy 2003-07-06 15:29:06 +00:00
Jonas Maebe
2763f461ce * VOLATILE_REGISTERS was wrong (it was more or less the inverted set
of what it had to be :/ )
2003-07-06 15:28:24 +00:00
Jonas Maebe
cc6a8fbe91 * make sure all registers except r0 are handled by the register
allocator for -dnewra
2003-07-06 15:27:44 +00:00
Jonas Maebe
acb3078279 * newra fix for threadvars 2003-07-06 15:25:54 +00:00
Jonas Maebe
80d6905b7b * fixed my previous completely broken commit. It's not perfect though,
registers > last_supreg and < max_intreg may still be "translated"
2003-07-06 15:00:47 +00:00
Jonas Maebe
b1917a614b * support integer registers that are not managed by newra (ie. don't
translate register numbers that fall outside the range
    first_supreg..last_supreg)
2003-07-06 14:45:05 +00:00
Jonas Maebe
a82c9531b7 * fixed register leak
* changed a couple of case-statements to location_force_reg()
2003-07-06 14:28:04 +00:00
Jonas Maebe
b69219bae4 * also generate the caller paraloc info of a procedure if it doesn't exist
yet at the start of pass_2
2003-07-06 10:18:47 +00:00
peter
af3946938a * check if owner.defowner is valid when checking private/protected 2003-07-05 22:41:59 +00:00
Jonas Maebe
14bd8b899a * create_paraloc_info() is now called separately for the caller and
callee info
   * fixed ppc cycle
2003-07-05 20:21:26 +00:00
Jonas Maebe
cc7f340ac8 * set pi_do_call if range/overflow checking is on 2003-07-05 20:15:24 +00:00
Jonas Maebe
0c65bc5a8c * create_paraloc_info() is now called separately for the caller and
callee info
   * fixed ppc cycle
2003-07-05 20:13:03 +00:00
Jonas Maebe
70a5d1e4c2 * create_paraloc_info() is now called separately for the caller and
callee info
  * fixed ppc cycle
2003-07-05 20:11:41 +00:00
Jonas Maebe
37d266b63d * fixed range check errors 2003-07-05 20:07:24 +00:00
Jonas Maebe
024590b0fa * fixed some range check errors that occurred on big endian systems
* slightly optimized the swap*() functions
2003-07-05 20:06:28 +00:00
pierre
ecaa77a503 * single threadvar debugging support 2003-07-04 22:41:41 +00:00
pierre
907b785f0d * add support for constant offset in stabs address, needed by threadvar debugging support 2003-07-04 22:40:58 +00:00
peter
1e47d6ffe0 * delay slot NOPs and comments added
* a_loadaddr_ref_reg fixed and optimized to reuse passed register
    if it is not used by the ref
2003-07-03 21:09:53 +00:00
peter
390db181c1 * loadfpu_reg_reg size specifier 2003-07-03 18:59:25 +00:00
peter
b7d99ec934 * paraloc splitted in callerparaloc,calleeparaloc
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
Jonas Maebe
b2cdd72e5c * always add dummy marker object at the start of an assembler list, so
the optimizer can't remove the first object
2003-07-02 16:43:48 +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
pierre
c80bd4565d * fix a bug preventing correct reading of intel 'mov [edi],al' 2003-06-20 12:57:15 +00:00
olle
cb440f8f93 * changed .p to .pas to make the compiler compile 2003-06-18 10:19:07 +00:00
olle
280c8655e5 * macos: fixes of loading-code 2003-06-18 10:12:36 +00:00
Jonas Maebe
4be7651aa2 * fixed conversion of fpc_*str_unique to compilerproc 2003-06-17 19:24:08 +00:00
Jonas Maebe
aa9f048e02 * fixed -dnewra compilation problems 2003-06-17 18:13:51 +00:00
Jonas Maebe
9b645eef82 - removed allocparaloc/freeparaloc, generic ones are ok now 2003-06-17 17:27:08 +00:00
peter
b8ad3514c0 * cycle fixes 2003-06-17 16:51:30 +00:00
peter
c642c454a2 * freeintparaloc 2003-06-17 16:36:59 +00:00
peter
f50aba2839 * a_loadaddr_ref_reg fixed 2003-06-17 16:35:56 +00:00
peter
6ce3721d8b * JMP_BUF_SIZE changed to 4 to remove Alloctemp warnings 2003-06-17 16:35:42 +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
e6e43724c3 * freeintparaloc added 2003-06-17 16:34:19 +00:00
peter
43746bc54a * alloc register for function result 2003-06-17 16:32:44 +00:00
peter
b489c2d65e * allocpara/freepara 64bit support 2003-06-17 16:32:03 +00:00
mazen
012af1131e * updated to help compiling the compiler 2003-06-17 04:34:04 +00:00
Jonas Maebe
673d792cc6 * release function result registers if the functino result isn't used
* don't allocate function result register with -dnewra if there is none
  * some optimizations for non-x86 processor (don't save any registers
    before a call)
2003-06-15 16:52:02 +00:00
Jonas Maebe
75b147ba60 * fixed revious commit 2003-06-15 16:47:33 +00:00
Jonas Maebe
3bbea08997 * fixed register allocation for threadvar loads with newra 2003-06-15 15:13:12 +00:00
Jonas Maebe
4e7fac9e7e * callparatemp fix: if a threadvar is a parameter, that paramter also
does a call
2003-06-15 15:10:57 +00:00
Jonas Maebe
642d0f923b * ppc compiles with -dnewra, haven't tried to compile anything with it
yet though
2003-06-14 22:32:43 +00:00
Jonas Maebe
d29c96896f * fixed newra cycle for x86
* added constants for indicating source and destination operands of the
    "move reg,reg" instruction to aasmcpu (and use those in rgobj)
2003-06-14 14:53:50 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
65e2afbd58 * supreg_name added 2003-06-13 21:08:30 +00:00
Jonas Maebe
a5a186799a + added supreg_name function 2003-06-13 17:44:44 +00:00
Jonas Maebe
4db662b6d0 * fixed small LOC_(C)FPUREGISTER bug 2003-06-13 17:05:24 +00:00
Jonas Maebe
c0a35f3cab * fixed bugs in case the left node was a LOC_(C)REFERENCE 2003-06-13 17:03:38 +00:00
mazen
b39a9919a2 - unused temp var r removed in GetExplicitRegisterInt function
* some case added for var and fauncions naming
2003-06-12 22:47:52 +00:00
Jonas Maebe
67e0cc3ad6 * t386innode.pass_2 already doesn't call a helper anymore since a long
time
2003-06-12 22:10:44 +00:00
Jonas Maebe
7ca760912b * tcginnode.pass_2 doesn't call a helper anymore in any case
* fixed ungetregisterfpu compilation problems
2003-06-12 22:09:54 +00:00
peter
c036dbe71a * size para for ungetregisterfpu 2003-06-12 21:12:20 +00:00
peter
93138a616d * updates like the powerpc 2003-06-12 21:11:44 +00:00
peter
d179aea20d * ungetregisterfpu gets size parameter 2003-06-12 21:11:10 +00:00
peter
02b3ec4f28 * newra fixes 2003-06-12 21:10:50 +00:00
Jonas Maebe
709e6da4fa - removed ALL_INTREGISTERS (only the one in rgobj is valid) 2003-06-12 19:11:34 +00:00
Jonas Maebe
5a5b7e0192 * deallocate parameter registers in time for newra
* for non-i386, procvars and methodpointers always have to be processed
    in advance, whether or not newra is defined
2003-06-12 18:38:45 +00:00
peter
a71427cf2c * fix newra cycle for i386 2003-06-12 18:31:18 +00:00
Jonas Maebe
2b312f6e8c * fixed compilation problems 2003-06-12 18:12:49 +00:00
peter
a0b9306652 * newra compiles for sparc 2003-06-12 16:43:07 +00:00
peter
ab66b66673 * add inputfile prefix to ppas/link.res 2003-06-12 16:41:51 +00:00
michael
0ea4ac8553 + Polish translations by Wojciech Malinowski 2003-06-12 12:05:02 +00:00
mazen
60fb7c9570 * fixing a general compile problem related to
cg.g_overflowcheck declaration that has
  changed
2003-06-10 20:46:17 +00:00
Jonas Maebe
1929498b42 * patch from Peter to fix tempinfo copying 2003-06-10 09:10:47 +00:00
mazen
1e7fc22124 * fix compile problem related to modification
of the declareation of GetIntParaLoc in the
  ancestor's declaration
2003-06-09 21:44:14 +00:00
peter
19c9bdbf60 * load calln in temprefn in with statement 2003-06-09 18:27:14 +00:00
peter
ab1f33f68b * remove temptype, use tempinfo.temptype instead 2003-06-09 18:26:46 +00:00
peter
72a89db7f7 * para can be the same as function name in delphi 2003-06-09 18:26:27 +00:00
Jonas Maebe
4d7dd7ecb4 * fixed update_reference_reg_mul() so that it won't modify CREGISTERs
in a reference
  * cache value of get_mul_size()
  * if get_mul_size = 1, the index can be a CREGISTER since it won't be
    modified
2003-06-09 16:45:41 +00:00
Jonas Maebe
dab8ab29cc * fixed regvar optimization for call_by_reference parameters (no need
to load address in another register)
2003-06-09 16:41:52 +00:00
Jonas Maebe
55509b199b * (de)allocation of registers for parameters is now performed properly
(and checked on the ppc)
  - removed obsolete allocation of all parameter registers at the start
    of a procedure (and deallocation at the end)
2003-06-09 14:54:26 +00:00
Jonas Maebe
c8978e3440 * fixed for callparatemp 2003-06-09 14:38:52 +00:00
peter
ff431f21ae * updated for new deref info 2003-06-09 12:59:00 +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
47b691057b * getposition added to retrieve the the current tai item 2003-06-09 12:20:47 +00:00
peter
65f03c3f7e * insertlistafter added 2003-06-09 12:19:34 +00:00
Jonas Maebe
10eb92c546 * optimized assignments with on the right side a function that returns
an ansi- or widestring
2003-06-08 20:01:53 +00:00
Jonas Maebe
db7d93495b * first small steps towards an oop optimizer 2003-06-08 18:48:03 +00:00
Jonas Maebe
8e09d78f79 + ability to change the location of a ttempref node with changelocation()
method. Useful to use instead of copying the contents from one temp to
    another
  + some shortstring optimizations in tassignmentnode that avoid some
    copying (required some shortstring optimizations to be moved from
    resulttype to firstpass, because they work on callnodes and string
    addnodes are only changed to callnodes in the firstpass)
  * allow setting/changing the funcretnode of callnodes after the
    resulttypepass has been done, funcretnode is now a property
  (all of the above should have a quite big effect on callparatemp)
2003-06-08 18:27:15 +00:00
Jonas Maebe
992be99250 * fixed weird error in the copyleft statement :) 2003-06-08 18:21:47 +00:00
Jonas Maebe
68b629fd16 * fixed small bug where a location was set to LOC_CREGISTER instead of
LOC_REGISTER
2003-06-08 18:20:02 +00:00
Jonas Maebe
d32d1a711e - removed duplicate identifier 2003-06-08 18:19:27 +00:00
Jonas Maebe
7081853478 - disabled gentreejmp for now, it expects that the case labels are
ordered as a perfectly balanced tree, while they are often a linked
    list -> generates extremely bad code
2003-06-08 16:03:22 +00:00
peter
563e8d205f * creating class with abstract call checking fixed
* there will be only one warning for each class, the methods
    are listed as hint
2003-06-08 11:42:33 +00:00
peter
d6f431a5a9 * set parast.next to the owner of the procdef 2003-06-08 11:41:21 +00:00
peter
7fcb3154d6 * moved message to msg file 2003-06-08 11:40:14 +00:00
peter
5540304b85 * check parast when inserting in localst 2003-06-08 11:40:00 +00:00
Jonas Maebe
419d7a9848 - disabled changing of LOC_*REGISTER to LOC_C*REGISTER in setparalocs,
this is not necessary anymore (doesn't do anything anymore actually,
    except making sure the interface crc changes)
2003-06-08 10:54:41 +00:00
Jonas Maebe
98c3c2489e * zero paraloc tregisters, so that the alignment bytes are 0 (otherwise
the crc of the ppu files can change between interface and
    implementation)
2003-06-08 10:52:01 +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
Jonas Maebe
e142cebe6e * pi_do_call must always be set for the main program, since it always
ends with a call to FPC_DO_EXIT
2003-06-07 19:37:43 +00:00
Jonas Maebe
edb2179730 + added freeintparaloc
* ppc get/freeintparaloc now check whether the parameter regs are
    properly allocated/deallocated (and get an extra list para)
  * ppc a_call_* now internalerrors if pi_do_call is not yet set
  * fixed lot of missing pi_do_call's
2003-06-07 18:57:04 +00:00
Jonas Maebe
acdfd1d445 * set pi_do_call for accesses to threadvars 2003-06-07 14:39:18 +00:00
peter
46a27d8c27 * fixed copyvaluepara for left-to-right pushing 2003-06-07 10:24:10 +00:00
peter
7363a7d605 * 32bit operands need ofcourse 32bit size 2003-06-07 10:23:50 +00:00
Jonas Maebe
f27da44d92 * fixed cycling problem 2003-06-07 10:06:55 +00:00
peter
4de6550853 * absolutesym support 2003-06-06 14:43:29 +00:00
peter
2df40538b9 * g_copyopenarrayvalue gets length reference
* don't copy open arrays for cdecl
2003-06-06 14:43:02 +00:00
peter
5b62f5052c * use setsize for size specifier 2003-06-06 14:41:59 +00:00
peter
5e3532dd01 * needs cpuinfo 2003-06-06 14:41:22 +00:00
michael
03b57479b0 + Forgot a line in patch from peter 2003-06-06 07:36:06 +00:00
michael
732c769f30 + Patch to Patch from peter 2003-06-06 07:35:14 +00:00
michael
a762ddbdc2 + Patch from peter 2003-06-06 07:34:11 +00:00
peter
cd66717210 * updated 2003-06-05 20:58:05 +00:00
peter
457b3919bd * new procoptions 2003-06-05 20:06:11 +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
peter
be7a5b76a4 * set po_public also when parsing the object declaration 2003-06-05 20:04:43 +00:00
peter
5a59576557 * fix to compile without gdb 2003-06-05 17:53:30 +00:00
mazen
d204c70f35 - making TOldRegister only declared for compatibility and
no more used in cpubase
2003-06-04 21:00:54 +00:00
mazen
4af28e59cc + added size of destination in code gen methods
+ making g_overflowcheck declaration same as
  ancestor's method declaration
2003-06-04 20:59:37 +00:00
Jonas Maebe
d8725a18bf * disable fpuregable for fpu variables typecasted to non fpu-type 2003-06-04 17:55:09 +00:00