Commit Graph

13691 Commits

Author SHA1 Message Date
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
Tomas Hajny
c81e1a487b * better fix for bug #2518 2003-06-06 23:34:08 +00:00
Tomas Hajny
65ceacfe64 * fix for bug #2518 applied to EMX as well 2003-06-06 23:31:55 +00:00
Tomas Hajny
93db149583 * fix for bug #2518 applied to OS/2 as well 2003-06-06 23:31:17 +00:00
Tomas Hajny
8463bb0b3b * OS/2 version of custapp.inc fixed 2003-06-06 22:39:59 +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
f65d119ea1 * Shell return adapted for 1.1 2003-06-05 20:03:22 +00:00
peter
5a59576557 * fix to compile without gdb 2003-06-05 17:53:30 +00:00
peter
38985f89ca * use Windows THandle 2003-06-05 14:45:06 +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
michael
4f9a6ba5a2 + Minor fix by Mattias Gaertner 2003-06-04 17:40:44 +00:00
michael
6d6bd0d1b9 en InitInheritedComponent erbij voor Delphi 6 compatibiliteit 2003-06-04 17:37:52 +00:00
Jonas Maebe
ad0dd43c4b * fixed void_to_(int,pointer) typeconversion 2003-06-04 17:29:01 +00:00
michael
5db8dacba7 + TDatamodule in classes for D6 compatibility 2003-06-04 15:32:14 +00:00
michael
59ce305c18 + TDataModule en InitInheritedComponent erbij voor Delphi 6 compatibility 2003-06-04 15:27:24 +00:00
peter
617c1e3812 * compile fix for systhrds 2003-06-04 15:18:14 +00:00
peter
23794b6933 * histsize increased 2003-06-04 15:06:14 +00:00
Jonas Maebe
eb066d3b32 * calculate localsize also in g_return_from_proc since it's now called
before g_stackframe_entry (still have to fix macos)
  * compilation fixes (cycle doesn't work yet though)
2003-06-04 11:58:58 +00:00
Jonas Maebe
29f6a3f50e * fixed double secondpassing of procvar loads 2003-06-04 06:43:36 +00:00
peter
d91c880148 * cg.a_load_* get a from and to size specifier
* makeregsize only accepts newregister
  * i386 uses generic tcgnotnode,tcgunaryminus
2003-06-03 21:11:09 +00:00