Commit Graph

5807 Commits

Author SHA1 Message Date
florian
05fcae577a * some ppc stuff fixed
* memory leak fixed
2003-10-19 01:34:30 +00:00
peter
9f54e1b7c5 * made worklists dynamic in size 2003-10-18 15:41:26 +00:00
Tomas Hajny
f70561922d * Watcom patch by Wiktor Sywula 2003-10-18 09:16:45 +00:00
Tomas Hajny
4c5f5382a1 * upper limit for heapsize removed 2003-10-18 09:14:18 +00:00
Tomas Hajny
8980fce60a * Watcom target name didn't fit in name field length 2003-10-18 09:04:11 +00:00
olle
4b274401b8 * compiler now defines cpum68k instead of cpu68k (as is used in rtl) 2003-10-17 21:05:27 +00:00
peter
ec7fb064d0 * fixed last commit 2003-10-17 16:16:08 +00:00
florian
5b33ab3643 * fixed more ppc stuff 2003-10-17 15:25:18 +00:00
peter
0939085ab1 * commented out more obsolete constants 2003-10-17 15:08:34 +00:00
peter
ec2e200e42 * fixed ppc build 2003-10-17 14:52:07 +00:00
peter
d0de3b3ea8 * 64k registers supported
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
marco
b9dd3b25cc * new locations for cross-compiler binaries 2003-10-17 14:10:53 +00:00
florian
6a01a7b4a6 * compilation of the powerpc compiler fixed 2003-10-17 01:22:08 +00:00
peter
63c5e8cfdf + __HIGH() to retrieve high value 2003-10-16 21:29:24 +00:00
florian
048fbd8228 * fixed 2729: overloading problem with methodvars and procvars 2003-10-14 12:23:06 +00:00
florian
57a2fe6ddb + some code for PIC support added 2003-10-14 00:30:48 +00:00
peter
303b5252e4 * removed is_visible_for_proc
* search also for class overloads when finding interface
    implementations
2003-10-13 14:05:12 +00:00
peter
be740ce9ad * regenerated 2003-10-13 12:39:32 +00:00
florian
b04af27efc * fixed forgotten commit 2003-10-13 09:38:22 +00:00
florian
c70c620d9b * some ideas for mm support implemented 2003-10-13 01:58:03 +00:00
florian
947280d8e2 * some ideas for mm support implemented 2003-10-13 01:23:13 +00:00
florian
46d9a10ecc * some ideas for mm support implemented 2003-10-13 01:10:01 +00:00
marco
d841f44994 * -Xd 2003-10-11 19:32:04 +00:00
florian
1df13c788c * fixed some MMX<->SSE
* started to fix ppc, needs an overhaul
  + stabs info improve for spilling, not sure if it works correctly/completly
  - MMX_SUPPORT removed from Makefile.fpc
2003-10-11 16:06:42 +00:00
peter
fb81b7ebbb * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation
2003-10-10 17:48:13 +00:00
marco
8f92b2f14e * typo fix from Wiktor 2003-10-10 09:21:53 +00:00
daniel
b2343f4b16 * Register allocator splitted, ans abstract now 2003-10-09 21:31:37 +00:00
peter
94957bca12 * fix check for generatenasmlib 2003-10-09 16:14:49 +00:00
peter
56ebcd1249 * self is not a token anymore. It is handled special when found
in a code block and when parsing an method
2003-10-09 15:20:56 +00:00
florian
8fcfcc6606 * fixed constructor call in class methods 2003-10-09 15:00:13 +00:00
peter
a909ffdd35 * allow explicit typecasts from classrefdef, fixes 2728 2003-10-09 14:39:03 +00:00
peter
9fc4e555dd * regenerated 2003-10-09 14:35:20 +00:00
olle
ac930a13e2 * changed to symbolic const for alignment
+ alignment set for function result
2003-10-08 21:16:27 +00:00
olle
3febb20061 * changed to symbolic const for alignment 2003-10-08 21:15:27 +00:00
peter
9647af4066 * allow access to parent locals when the currnet localst has no
varsyms
2003-10-08 19:39:58 +00:00
peter
95f132db3d * set_varstate cleanup 2003-10-08 19:19:45 +00:00
peter
f187323816 * -P to -ap
* -V to -vv
2003-10-08 19:17:43 +00:00
peter
fcd16aff24 * -Q back to -P, -L back to -V 2003-10-08 19:16:50 +00:00
florian
0210c33f15 * fixed resource compiler search if no utilty directory was given 2003-10-08 17:54:23 +00:00
mazen
14ac3dc2e2 * test now based on fpc/tests/test 2003-10-08 14:12:17 +00:00
mazen
7668192be0 + Alignement field added to TParaLocation (=4 as 32 bits archs) 2003-10-08 14:11:36 +00:00
mazen
25dc5f7e80 + ASMMODE ATT added to bypass fpc.cfg defaults 2003-10-08 14:10:16 +00:00
olle
a8f6986077 * targets now in alfabetical order and lowercase 2003-10-08 11:42:19 +00:00
florian
b3064de6c0 * fixed full bool evalution and bool xor, if the left or right side have LOC_JUMP 2003-10-08 09:13:16 +00:00
peter
e720d73bd9 * compare_paras() has a parameter to ignore hidden parameters
* cross unit overload searching ignores hidden parameters when
    comparing parameter lists. Now function(string):string is
    not overriden with procedure(string) which has the same visible
    parameter list
2003-10-07 21:14:32 +00:00
peter
828df46e33 * procvar varargs fixed 2003-10-07 20:52:54 +00:00
peter
d582ff8fca * inherited forced calling convention
* show hints when forward doesn't match
2003-10-07 20:44:22 +00:00
peter
c56c47fbc0 * Add calling convention in fullprocname when it is specified 2003-10-07 20:43:49 +00:00
peter
5fb06316f1 * set calling convention before assembler block is parsed 2003-10-07 20:06:37 +00:00
peter
3e6f799919 * fix crash
* allow parameter subscription for register parameters
2003-10-07 18:21:18 +00:00
peter
9365837ecd * fix register calling for assembler procedures
* fix result loading for assembler procedures
2003-10-07 18:18:16 +00:00
peter
197cc64800 * Give message that constant expr is expected when a none constant
is passed to get_ordinal_value
2003-10-07 18:17:44 +00:00
peter
81449fa691 * constant expr expected 2003-10-07 17:52:50 +00:00
florian
e3519e3b0c * x86 supports only mem/reg to reg for movsx and movzx 2003-10-07 16:09:03 +00:00
peter
625de786dc * tsymlist.def renamed to tsymlist.procdef
* tsymlist.procdef is now only used to store the procdef
2003-10-07 16:06:30 +00:00
peter
e27d6f67da * inline supported again, LOC_REFERENCEs are used to pass the
parameters
  * inlineparasymtable,inlinelocalsymtable removed
  * exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
e55017a946 * fix 2720 2003-10-07 14:30:27 +00:00
florian
6684d2c520 + added basic olevariant support 2003-10-06 22:23:41 +00:00
peter
da9f5e2319 * c style array of const generates callparanodes
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
c73704be10 * when comparing hidden parameters both must be hidden 2003-10-05 13:05:05 +00:00
peter
1a71e7e02b * set correct conversion for subranges 2003-10-05 12:57:11 +00:00
peter
4a4c5a6df2 * don't write procdefs that are released to ppu 2003-10-05 12:56:35 +00:00
peter
cedb10116c * fix assigned(property) 2003-10-05 12:56:04 +00:00
peter
d7d19e4e7f * allow absolute with value for win32,wdos 2003-10-05 12:55:37 +00:00
peter
d3e0bca919 * don't check for abstract methods when the constructor is called
by inherited
  * fix private member error instead of wrong number of parameters
2003-10-05 12:54:17 +00:00
florian
550b398f02 * writing of loop nodes fixed 2003-10-05 11:53:57 +00:00
peter
60e2738c22 * temporary fix for compilerprocs on watcom 2003-10-05 11:10:52 +00:00
florian
538164aa0a * fixed TP 6.0 styled inherited call; fixes IDE with 1.1 2003-10-04 19:00:52 +00:00
marco
feaed02001 * cross compiling fixes to makefile and fpcmake 2003-10-04 13:48:11 +00:00
peter
d319f4f226 * removed paraalign 2003-10-03 22:09:49 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
marco
73876b7490 * CROSSCOMPILING stage 2 2003-10-03 21:40:35 +00:00
peter
c63b079d07 * save ESP after pusha and restore before popa for save all registers 2003-10-03 14:45:37 +00:00
peter
6edadf3df5 * more proc directive for procvar fixes 2003-10-03 14:45:09 +00:00
peter
9f2ec4dabd * fix IE when callnode was firstpassed twice 2003-10-03 14:44:38 +00:00
peter
052f635a45 * don't report unused hidden parameters 2003-10-03 14:43:29 +00:00
marco
487650ab51 * -XP<prefix> support 2003-10-03 14:16:48 +00:00
peter
aed5b53816 * handle_calling_convention removed from parse_proc_directive to
separate call
2003-10-02 21:20:32 +00:00
peter
9bdadbf909 * niln is also a constnode 2003-10-02 21:18:44 +00:00
peter
b1863f8fad * remove asw 2003-10-02 21:18:06 +00:00
peter
6093a37d1b * fix operand order when a prefix opcode is supplied 2003-10-02 21:17:38 +00:00
peter
4b89bdf738 * use as,ld,ar instead of asw,ldw,arw for win32 2003-10-02 21:17:08 +00:00
peter
7d3f0468e4 * delphi and tp7 mode use intel asm by default 2003-10-02 21:16:18 +00:00
peter
13101d50e8 * delphi mode uses register calling by default for assembler 2003-10-02 21:15:59 +00:00
peter
939b642144 * support nil as default value
* when no default property is allowed don't check default value
2003-10-02 21:15:12 +00:00
peter
00801693bb * protected visibility fixes 2003-10-02 21:13:46 +00:00
peter
2bec6b14fc * procvar directive parsing fixes 2003-10-02 21:13:09 +00:00
peter
3b771392a1 * fix type parsing in records 2003-10-02 15:12:07 +00:00
marco
de98fa5cb5 * makefile fixes from peter 2003-10-02 11:06:53 +00:00
marco
eaceacb7e2 * remake with new fpc param 2003-10-02 08:50:13 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
7900a544a3 * searchsym_type to search for type definitions. It ignores
records,objects and parameters
2003-10-01 19:05:33 +00:00
peter
c1c8c5dbb1 * don't look in objectsymtable when parsing the function return type 2003-10-01 18:28:55 +00:00
florian
d85e1a9bf4 * para items are now reversed for pascal calling conventions 2003-10-01 16:49:05 +00:00
florian
8463d2444f * fixed FullProcName to handle constructors, destructors and operators correctly 2003-10-01 15:32:58 +00:00
peter
c348bd5a68 * don't write parast,localst debug info for externals 2003-10-01 15:00:02 +00:00
peter
22158bfb99 * updates for inlining 2003-09-30 21:02:37 +00:00
peter
519b74fe2c * smartlink fix for dlls from Pavel 2003-09-30 20:10:12 +00:00
peter
2581038501 * remove abt reg for vmtreg 2003-09-30 19:55:19 +00:00
peter
2771f49e22 * reuse registers with the least conflicts 2003-09-30 19:54:42 +00:00
peter
b369a7ee9e * better link on target support 2003-09-30 19:54:23 +00:00
peter
5a7ce9fbe3 * fix pushw reg 2003-09-30 19:53:47 +00:00
marco
957a3d4b36 * -Q=-P and -L=-V 2003-09-30 17:25:01 +00:00
marco
9b39a588c3 * -V support 2003-09-30 11:24:59 +00:00
michael
953269fcff + Patch from Wiktor Sywula for watcom support 2003-09-30 08:39:50 +00:00
peter
540691bf02 * optimized releasing of registers 2003-09-29 20:58:55 +00:00
peter
409b982075 * insertbefore added 2003-09-29 20:52:50 +00:00
peter
15446d6522 * removed emitjmp 2003-09-28 21:49:39 +00:00
peter
a028d221cc * fixed invalid opcode handling in spill registers 2003-09-28 21:49:30 +00:00
peter
9a9d96fe5d * fix register leak 2003-09-28 21:48:57 +00:00
peter
47d211aa2e * fix register leaks 2003-09-28 21:48:20 +00:00
peter
2693582200 * register paras and local copies updates 2003-09-28 21:47:18 +00:00
peter
c6f0a5fb0e * fix allocation of threadvar parameter 2003-09-28 21:46:18 +00:00
peter
75cb52213f * fix register leak in with debug 2003-09-28 21:45:52 +00:00
peter
2c4df4364e * fix check that filedef needs var para 2003-09-28 21:44:55 +00:00
peter
99bb20747e * parent framepointer changed to hidden parameter
* tloadparentfpnode added
2003-09-28 17:55:03 +00:00
peter
a561878746 * removed a_call_ref 2003-09-28 13:54:43 +00:00
peter
dea558b5c7 * return reg 255 when allowdupreg is defined 2003-09-28 13:41:12 +00:00
peter
b3ef859971 * default calling convention changed to stdcall 2003-09-28 13:39:58 +00:00
peter
d77cf79d3b * optimized releasing of registers 2003-09-28 13:39:38 +00:00
peter
e732233993 * invalid register message 2003-09-28 13:38:11 +00:00
peter
e248f1b570 * a_call_ref removed 2003-09-28 13:37:19 +00:00
peter
36c2bb1e1a * give error for wrong register number 2003-09-28 13:37:07 +00:00
peter
eb5429425a * shortstr compare updated for different calling conventions 2003-09-28 13:35:40 +00:00
peter
116153cf24 * register calling updates 2003-09-28 13:35:24 +00:00
peter
f6868f8d48 * fix reported file position for not matched forwards 2003-09-27 13:29:43 +00:00
peter
b6a0492c9c * remove sp_fixup 2003-09-25 21:29:23 +00:00
peter
1c11c95b3c * change push/pop in getreg/ungetreg 2003-09-25 21:29:16 +00:00
peter
2392f28675 * parameter fixes 2003-09-25 21:28:00 +00:00
peter
ab3d323e5b * rearranged threadvar code so the result register is the same
for the relocated and address loaded variables
2003-09-25 21:27:31 +00:00
peter
e7a50f0ee0 * remove obsolete tparalocation.sp_fixup 2003-09-25 21:26:24 +00:00
peter
349fceb4fc * has_local_copy gdb fix 2003-09-25 21:25:37 +00:00
peter
56c14885bb * remove allocate_intterupt_parameter, allocation is platform
dependent and needs to be done in create_paraloc_info
2003-09-25 21:25:13 +00:00
peter
eee2002780 * don't include vo_has_local_copy for open array/array of const 2003-09-25 21:24:09 +00:00
peter
bf66a6e4ab * fix filepositions
* insert spill temp allocations at the start of the proc
2003-09-25 16:19:32 +00:00
peter
545f437740 * fixed stabs for globals,static 2003-09-25 16:18:54 +00:00
peter
e487793919 * %st is st0 in nasm 2003-09-25 14:59:16 +00:00
peter
7c6560ab7f * fix intf wrapper code 2003-09-25 14:59:06 +00:00
peter
0805c4e535 * fix different expectloc 2003-09-25 14:57:51 +00:00
peter
cc823ff893 * fix check for unreachable locals 2003-09-25 14:57:36 +00:00
florian
0493cd3d2e * more x86-64 fixes 2003-09-25 13:13:32 +00:00
florian
f6e456268f * fixed make cycle 2003-09-24 21:15:49 +00:00
florian
cedff1a593 + processor type intialization for x86-64 added 2003-09-24 17:13:22 +00:00
florian
0b48a6a3ec * x86-64 adaptions 2003-09-24 17:12:36 +00:00
florian
8edd479391 * several fixes for new reg allocator 2003-09-24 17:12:02 +00:00
florian
88a3541c80 * x86_64 support; turn on by passing x86_64 2003-09-24 17:11:33 +00:00
marco
88e866dcb7 * (Peter) patch to fix snapshot 2003-09-24 13:02:10 +00:00
peter
420c1cdfe1 * don't call firstpass in resulttypepass 2003-09-23 21:10:11 +00:00
peter
72b8932713 * check for refs>0 in init/final local data 2003-09-23 21:03:59 +00:00
peter
d3063f722c * connect parasym to paraitem 2003-09-23 21:03:35 +00:00