Commit Graph

5304 Commits

Author SHA1 Message Date
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