Commit Graph

6890 Commits

Author SHA1 Message Date
mazen
3df0e367c2 * Merge is complete for this file 2004-10-13 14:53:28 +00:00
peter
1bb51a2667 * all checking for visibility is now done by is_visible_for_object 2004-10-12 19:51:13 +00:00
peter
560a790a57 * gen high tree makes copy in temp when there is a calln 2004-10-12 14:36:38 +00:00
peter
4a7e02d817 * cstyle operators with calln in the tree now use a temp 2004-10-12 14:35:47 +00:00
peter
b5d1220bef * fixed crash when current_procinfo was not yet available 2004-10-12 14:35:14 +00:00
peter
6ffca1688e * fixed visibility for procsyms
* fixed override check when there was no entry yet
2004-10-12 14:34:49 +00:00
peter
f1ae6fb6d4 * give error when converting class to interface are not related 2004-10-12 14:33:41 +00:00
peter
cf20eafbe0 * don't generate stabs for self when it is in a regvar 2004-10-11 20:48:34 +00:00
peter
66df745917 * small regvar for para fixes
* function tvarsym.is_regvar added
  * tvarsym.getvaluesize removed, use getsize instead
2004-10-11 15:48:15 +00:00
peter
b0ebc06ce6 * removed warning about register used only once 2004-10-11 15:47:03 +00:00
peter
8b3e00244f * length parameter for copyvaluearray changed to tlocation 2004-10-11 15:46:45 +00:00
peter
d288070a7a * mark non-regable after calling convention is set 2004-10-11 15:45:35 +00:00
Jonas Maebe
99c6740d7d * include pi_do_call if we generate a call instead of internalerroring
(workaround)
2004-10-11 07:13:14 +00:00
peter
4f7667488b * parameter regvar fixes 2004-10-10 21:08:55 +00:00
peter
d6bffaf5c6 * fixed sparc compile
* fixed float regvar loading
2004-10-10 20:51:46 +00:00
peter
434475be33 * concatcopy_unaligned maps by default to concatcopy, sparc will
override it with call to fpc_move
2004-10-10 20:31:48 +00:00
peter
b0c25b50a0 * symtable allocation rewritten
* loading of parameters to local temps/regs cleanup
  * regvar support for parameters
  * regvar support for staticsymtable (main body)
2004-10-10 20:22:53 +00:00
peter
0573c742e4 * passing a var parameter to var parameter is now also allowed
for register locations (=regvars)
2004-10-10 20:21:18 +00:00
peter
c853d10cc2 * optimized spilling writing when the reg operand can be
replaced by reference
2004-10-10 16:30:26 +00:00
peter
044ec56b56 * default optimization cpu changed to CLassPentium3 2004-10-10 15:42:22 +00:00
Jonas Maebe
cf085fb9d0 * several fixes to allocregbetween() 2004-10-10 15:01:19 +00:00
Jonas Maebe
28e0869e6f - disabled oldregvars because it no longer compiles 2004-10-10 14:57:29 +00:00
peter
5ca70455ed regvar ppu writing doesn't affect any crc 2004-10-10 09:31:28 +00:00
olle
bf57e41ac5 * Exchanged hardcoded "./" to CurDirRelPath
* In FindObjectFile, when link on target, special handling is now
    only done for units.
2004-10-09 11:37:09 +00:00
olle
45e4998167 * Exchanged hardcoded "./" to CurDirRelPath 2004-10-09 11:29:15 +00:00
olle
61645ef149 + Added CurDirRelPath
* Exchanged hardcoded "./" to CurDirRelPath
2004-10-09 11:27:59 +00:00
olle
d87707fc6c * Refs to DEBUGINFO_<x> is now not inserted for target MacOS 2004-10-09 10:51:13 +00:00
olle
8461184f4b * minor fix 2004-10-09 10:48:34 +00:00
florian
016f2e9b15 * fixed storage of parameters passed by ref. 2004-10-08 20:52:07 +00:00
peter
63cf4464d3 * tvarsym.varregable added, split vo_regable from varoptions 2004-10-08 17:09:43 +00:00
florian
5051301b16 + non writeable unit output directory produces a nice error message now 2004-10-08 15:52:40 +00:00
peter
eaf46c4fb1 * live_registers must be restored after the spilling store code
is generate to add correct conflicts for extra temporary registers
2004-10-06 20:14:08 +00:00
Jonas Maebe
2b030488b2 * regvar fixes from Peter 2004-10-06 19:26:50 +00:00
Jonas Maebe
0cf348b3df * take into account the size of a write to determine whether a write to
one reference influences the contents of another reference
2004-10-06 19:24:38 +00:00
florian
30873fc9a8 * fixed generation of refs wiht large offsets, code still broken though 2004-10-05 21:29:29 +00:00
peter
f2a75dd91f * fixed location size for s64comp 2004-10-05 20:55:49 +00:00
peter
f5471aef6e * more spilling rewrites 2004-10-05 20:41:01 +00:00
florian
feeba0ede6 * bootstrapping with rtti alignment fixed 2004-10-05 20:21:02 +00:00
peter
fa3f491546 * range check errors fixed 2004-10-05 17:31:41 +00:00
florian
b39c0af01b * rtti alignment fixed 2004-10-04 21:23:15 +00:00
peter
4bdae840a3 * reverted a minor move in the order of tinschange. The order
is required by the optimizer. Added also a remark
2004-10-04 21:11:24 +00:00
peter
f10c319261 * fix x86_64 compile 2004-10-04 20:55:04 +00:00
peter
ee3585f56f * spilling code rewritten for x86. It now used the generic
spilling routines. Special x86 optimization still needs
    to be added.
  * Spilling fixed when both operands needed to be spilled
  * Cleanup of spilling routine, do_spill_readwritten removed
2004-10-04 20:46:22 +00:00
peter
ec720a5800 * insertlistbefore added 2004-10-04 20:43:28 +00:00
peter
ef7ae0eab1 * debuginfo fixes 2004-10-04 18:26:51 +00:00
peter
892daa42ec * AB_COMMON symbols need special relocation in stabs 2004-10-04 15:48:11 +00:00
florian
d57089732b * fixed dword->single/double on sparc 2004-10-03 19:21:56 +00:00
florian
001292bf50 * made sqrt, sqr and abs internal for the sparc 2004-10-03 12:41:30 +00:00
marco
ef6c8dc443 * small updates to make playing with sparc/sunos easier 2004-10-01 17:41:21 +00:00
peter
75cd5c80fa * indents 2004-10-01 17:33:47 +00:00
peter
d604b703cb * fix resizing of LOC_CREGISTER 2004-10-01 17:32:16 +00:00
peter
6d16520853 * don't add stabs for register variables 2004-10-01 15:22:22 +00:00
Tomas Hajny
39d6a252e2 * explicit typecast added to avoid range check error 2004-09-30 19:32:19 +00:00
florian
15d3388449 * fixed more sparc overflow stuff
* fixed some op64 stuff for sparc
2004-09-29 18:55:40 +00:00
mazen
83cb4fe087 * revert last change : removal of dos unit 2004-09-29 06:52:43 +00:00
peter
0af84db9cf * fixed crash 2004-09-28 20:19:36 +00:00
mazen
880427b9aa - remove Dos unit dependency 2004-09-28 16:00:52 +00:00
peter
6da9996dba * fixed passing of flaot parameters. The general size is still float,
only the size of the locations is now OS_32
2004-09-27 21:24:17 +00:00
peter
25b0dc04d7 * fixed spilling code 2004-09-27 21:23:26 +00:00
olle
5d088845d3 + added -h option to show help 2004-09-27 18:04:11 +00:00
peter
6180168a5a * register loopvarsym for fields instead of record variable
* don't allow class fields as loop var
2004-09-27 15:15:52 +00:00
peter
96a6acbda2 * dealloc function result registers, register allocation is now
back at pre-paraloc level
2004-09-27 15:15:20 +00:00
peter
77b6de17a6 * reference local varsyms can't be regvar 2004-09-27 15:14:34 +00:00
peter
ba87da9bc2 * fix compile for oldregvars 2004-09-27 15:14:08 +00:00
peter
30a4185153 * IE when expecting top_ref 2004-09-27 15:12:47 +00:00
peter
ec04a5a899 * handle 3 operand opcodes the same as 2 operand opcodes, the
third operand can only be a const or register CL, so it doesn't
    affect spilling
  * support shrd/shld that don't allow memory operands
2004-09-27 14:49:45 +00:00
florian
62f93d3473 + partial overflow checking on sparc; multiplication still missing 2004-09-26 21:04:35 +00:00
armin
80e621011a * added define netware and netware_libc for target netwlibc, netware_clib for netware 2004-09-26 19:51:02 +00:00
peter
8fb3536f6e * simple regvar support, not yet finished 2004-09-26 17:45:29 +00:00
florian
5392f62678 + a_jmp_name for sparc added 2004-09-26 17:36:12 +00:00
florian
9d29de2b43 * fixed qword -> float conversion for x86 2004-09-26 09:12:50 +00:00
florian
9ebffe215b * ie checking in spilling code improved 2004-09-26 07:15:07 +00:00
florian
be3f78e283 * handling of C styled varargs fixed 2004-09-25 20:28:39 +00:00
florian
36112785f8 * indention fixed 2004-09-25 20:28:20 +00:00
florian
05ca833859 * fixed dyn. linker name for sparc 2004-09-25 18:44:12 +00:00
peter
65c3ba277c * ungetregister is now only used for cpuregisters, renamed to
ungetcpuregister
  * renamed (get|unget)explicitregister(s) to ..cpuregister
  * removed location-release/reference_release
2004-09-25 14:23:54 +00:00
armin
384e2e4d43 * added GROUP for .a files to linker script 2004-09-24 10:48:31 +00:00
mazen
e27d695e7c * Fix new command line parameters 2004-09-22 15:41:57 +00:00
mazen
da1c3fb6f0 * Fix error committing : previous version must be in branch USE_SYSUTILS 2004-09-22 15:25:14 +00:00
mazen
3b591c5575 * use SysUtils unit instead of Dos Unit 2004-09-22 15:14:37 +00:00
Tomas Hajny
85320d6787 * SetTextLineEnding implemented, FileRec.Name position alignment for CPU64 2004-09-21 23:36:51 +00:00
Tomas Hajny
5df0c00360 * better PathExists, fix for too long command line, correction of message 2004-09-21 23:33:43 +00:00
peter
d5140a5792 * don't remove MOV reg1,reg1 it is needed for the RA 2004-09-21 20:33:00 +00:00
peter
d99a5f58f3 * range check error in swapint64 2004-09-21 20:32:40 +00:00
peter
690f5e22d1 * x86_64 fixes
* cleanup of fpcdefs.icn
2004-09-21 19:59:51 +00:00
peter
33a834821f * paraloc branch merged 2004-09-21 17:25:12 +00:00
peter
4df1a1f378 * no difference for withnode when debuginfo is generated 2004-09-21 16:00:50 +00:00
peter
e1278ec66f * prefer pchar-string over pchar-pointer 2004-09-21 15:52:35 +00:00
peter
9575b739fb * make it compile with main branch 2004-09-20 15:40:21 +00:00
Jonas Maebe
600f863e37 * fixed crashes on direction=1 systems (mainly by Peter) 2004-09-20 07:32:02 +00:00
armin
014395198b * added library support 2004-09-19 18:10:32 +00:00
armin
b9dd469ddc * support library flag
* automaticly gernerate xdc data
2004-09-19 14:23:43 +00:00
peter
35c07ed9ef * dynarr-pointer is allowed under delphi 2004-09-16 16:32:44 +00:00
peter
4978a7635a * another fix for reading of subranges 2004-09-16 16:32:27 +00:00
peter
90c280a42d * Use FExpand on paths passed to compiler 2004-09-16 16:31:53 +00:00
peter
7f8844e74d * release localsymtables when module is compiled 2004-09-14 16:33:46 +00:00
peter
7e90a8a8ab * restart sorting of enums when deref is called, this is needed when
a unit is reloaded
2004-09-14 16:33:17 +00:00
peter
3b59efea14 * keep localst in memory, it is also needed for finalizing
typedconst
2004-09-13 20:34:28 +00:00
peter
63532ef166 * pwidechar support in array of const 2004-09-13 20:33:41 +00:00
peter
6096fe0789 * use realname in error msg 2004-09-13 20:33:17 +00:00