Commit Graph

5899 Commits

Author SHA1 Message Date
marco
ba37a0e291 * package versions upgrade 2003-11-01 22:56:05 +00:00
peter
b8b0ba21fa * 1.9.0 2003-11-01 19:27:54 +00:00
peter
f5ab36ed03 * don't remove .0 when patchlevel = 0 2003-11-01 16:37:17 +00:00
peter
c9e80d4877 * 1.9.0 2003-11-01 16:27:46 +00:00
peter
9168d87b35 * use explicit typecast when generating the high value 2003-11-01 16:17:48 +00:00
peter
aadc6dbf2b * fix check for valid procdef in property rtti 2003-11-01 15:50:03 +00:00
peter
f2e031273b * don't search for compatible procvars when the proc is not
overloaded
2003-10-31 18:44:18 +00:00
peter
9b0dda9f42 * don't call proc_to_procvar for explicit typecasts 2003-10-31 18:42:03 +00:00
peter
b34b0141d5 * support creating classes using <class of tobject>.create 2003-10-31 15:52:58 +00:00
peter
684a771aca * fix crash with fail in constructor 2003-10-31 15:52:18 +00:00
peter
f2264589fc * fix crashes in asmnode.deref when p_asm=nil 2003-10-31 15:51:47 +00:00
peter
bd96bacd81 * USEINLINE directive added (not enabled yet) 2003-10-31 15:51:11 +00:00
mazen
a2cee9b843 * using findreg_by_<name|number>_table directly to decrease heap overheading 2003-10-31 09:22:55 +00:00
mazen
ba59054e84 * rgHelper renamed to rgBase
* using findreg_by_<name|number>_table directly to decrease heap overheading
2003-10-31 08:40:51 +00:00
peter
48ef24605a * support scalefactor for opr_local
* support reference with opr_local set, fixes tw2631
2003-10-30 19:59:00 +00:00
peter
08c8b2ea2c * fix IE when passing array to open array 2003-10-30 19:20:05 +00:00
marco
706118fcb9 * profiling fix 2003-10-30 18:53:53 +00:00
marco
0d72eee09e * librarysuffix + profiling 2003-10-30 18:35:30 +00:00
peter
e7ae580469 * also check for uninited vars in staticsymtable 2003-10-30 17:42:48 +00:00
peter
0bc3453035 * fixed findreg_by_number
* renamed rghelper to rgbase
2003-10-30 17:13:18 +00:00
peter
c8300cab51 * fixed rangecheck error 2003-10-30 17:12:49 +00:00
peter
19727a3609 * don't search for overloads in parents for constructors 2003-10-30 16:23:13 +00:00
peter
9e66b09843 * call firstpass before allocation and codegeneration is started
* move leftover code from pass_2.generatecode() to psub
2003-10-30 16:22:40 +00:00
mazen
fceb187d21 *** empty log message *** 2003-10-30 15:02:27 +00:00
mazen
75f88a5b90 * now uses standard routines in rgHelper unit to search registers by number and by name 2003-10-30 15:02:04 +00:00
mazen
bb42874171 + add support for double float register vars 2003-10-30 14:56:40 +00:00
mazen
94ff0298da * fixed problem in transmission of source dirs to gdb 2003-10-30 14:55:43 +00:00
mazen
d93398fd84 + standard routines to search registers by number and by name 2003-10-30 14:54:55 +00:00
florian
6a06df943b * fixed passing of dyn. arrays to open array parameters 2003-10-29 22:01:20 +00:00
peter
75e5a6e867 * procsym.deref derefs only own procdefs
* reset paracount in procdef.deref so a second deref doesn't increase
    the paracounts to invalid values
2003-10-29 21:56:28 +00:00
peter
9c15bf7fb1 * don't set second_load when second_compile was already set 2003-10-29 21:55:10 +00:00
Jonas Maebe
cf8b181ff2 * some ALLOWDUPREG improvements 2003-10-29 21:29:14 +00:00
Jonas Maebe
0cac29ec76 + support for fpu temp parameters
+ saving/restoring of fpu register before/after a procedure call
2003-10-29 21:24:14 +00:00
Jonas Maebe
c1279ba62b * allow more than 3 args in the spilling routine 2003-10-29 21:06:39 +00:00
peter
526cffbaad * set ms_compiled after the program/unit is parsed
* check for ms_compiled before checking preproc matches
2003-10-29 21:02:51 +00:00
peter
fae3eaf83d * move check for unused object constructor result to blocknode 2003-10-29 20:34:20 +00:00
peter
003ea697c0 * object constructor results are always used 2003-10-29 20:01:41 +00:00
peter
cac39ccfd4 * renamed mangeldname_prefix to make_mangledname and made it more
generic
  * make_mangledname is now also used for internal threadvar/resstring
    lists
  * Add P$ in front of program modulename to prevent duplicated symbols
    at assembler level, because the main program can have the same name
    as a unit, see webtbs/tw1251b
2003-10-29 19:48:50 +00:00
peter
bef3bb7b22 * fix field offset in reference 2003-10-29 16:47:18 +00:00
peter
5925d38ac7 * support indexing and offset retrieval for locals 2003-10-29 15:40:20 +00:00
mazen
105806e6e7 + added fake MM Registers support because of generic code need it. 2003-10-29 15:18:33 +00:00
mazen
7eb56b216a * 32 registers are available 2003-10-29 15:07:01 +00:00
mazen
81123566d3 * code reformatted 2003-10-29 14:42:14 +00:00
mazen
2d061f8108 * Splling function devided to sub functions to make it easy to understand.
This commit is just to allow easy diffs to validate the migration (hint use -w)
2003-10-29 14:05:45 +00:00
peter
7e450e736b * fix crash with ops=0 2003-10-28 18:46:49 +00:00
peter
2d6deeaade * regenerated 2003-10-28 16:44:35 +00:00
peter
079e489b08 * absolute to object field supported, fixes tb0458 2003-10-28 15:36:01 +00:00
peter
4245cedfed * compare longint-cardinal also makes types wider 2003-10-28 15:35:18 +00:00
mazen
1aff1a5804 * modification to allow using test dir 2003-10-28 12:12:22 +00:00
peter
168ccf83c3 * regenerated 2003-10-27 15:58:54 +00:00
peter
d28f3dfdae * fixed trec.field to return constant 2003-10-27 15:29:43 +00:00
florian
6906e33275 * fixed web bug #2129: explicit float casts in Delphi mode must be handled by the default code 2003-10-26 14:11:35 +00:00
florian
4d070e2a71 * fixed web bug #2128 2003-10-26 13:37:22 +00:00
florian
2660c358f3 * fixed compilation of ppc system unit 2003-10-25 11:34:02 +00:00
florian
1e72dd2d78 * fixed compilation of ppc compiler 2003-10-25 10:37:26 +00:00
peter
b327c20b12 * cleanup of the entry and exit code insertion 2003-10-24 17:40:23 +00:00
peter
96afb56699 * asmnode.get_position now inserts a marker 2003-10-24 17:39:41 +00:00
peter
53e8350307 * more intel parser updates 2003-10-24 17:39:03 +00:00
peter
ef94a6d0e4 * renamed R_SUBF64 to R_SUBFD 2003-10-24 15:21:31 +00:00
peter
b224d87ea5 * added more register functions 2003-10-24 15:20:37 +00:00
mazen
619b429650 *fixes related to removal of rg 2003-10-24 11:31:43 +00:00
mazen
7251301e50 -unused units removed from uses clause 2003-10-24 11:28:35 +00:00
mazen
dd632de71e -unused units removed from uses clause
*fix related to rg which was removed
2003-10-24 11:25:32 +00:00
mazen
f217753383 *fix related to toper==>poper 2003-10-24 11:22:50 +00:00
mazen
301f8978ae * rg.[un]GetRegister* ==> [Un]Get[*]Register 2003-10-24 11:14:46 +00:00
mazen
0bcacbde35 * fixed compil problem when using ObjFpc mode (^ required). 2003-10-24 07:00:17 +00:00
peter
9342178c7d * typecasting fixes
* reference building more delphi compatible
2003-10-23 17:19:44 +00:00
peter
5fc91adca4 * SearchType returns also the size 2003-10-23 17:19:11 +00:00
peter
3f2d99d04f * delphi mode uses packenum 1 2003-10-23 17:18:56 +00:00
peter
4a1ecb07d1 * splitted buildderef and buildderefimpl to fix interface crc
calculation
2003-10-23 14:44:07 +00:00
peter
63002aadb4 * fixed unit info messsage 2003-10-22 20:54:06 +00:00
peter
6878c55c80 * write derefdata in a separate ppu entry 2003-10-22 20:39:59 +00:00
peter
28c96ab8e2 * write implementation units in implementation part of the ppu
so it doesn't confuse the unit loading
2003-10-22 17:38:25 +00:00
marco
d4a94d9294 * -Xc -Xr support 2003-10-22 15:40:44 +00:00
peter
fcabdbbf35 * fixed unitsym-globalsymtable relation so the uses of a unit
is counted correctly
2003-10-22 15:22:33 +00:00
peter
86782a9b08 * ignore @ in Unit.@Proc 2003-10-21 18:17:40 +00:00
peter
aaf9043988 * only search for overloaded constructors in classes 2003-10-21 18:17:02 +00:00
peter
a28d911c98 * IncompatibleTypes() added that will include unit names when
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
925046ad5f * fixed check for $X- result usage 2003-10-21 18:15:16 +00:00
peter
34d0dff840 * fix counting of parameters when loading ppu 2003-10-21 18:14:49 +00:00
peter
921502cce3 * fix writing of widechar to ppu 2003-10-21 18:14:30 +00:00
peter
ed8d5479d6 * already obsolete for 1,5 year 2003-10-21 15:43:34 +00:00
peter
96f9973b46 * taicpu_abstract.oper[] changed to pointers 2003-10-21 15:15:35 +00:00
peter
a57d25b3ed * also search in parents for overloads when calling a constructor 2003-10-21 15:14:55 +00:00
peter
276688dbb4 * fixed memleak for initfinalcode
* exit from generatecode when there are already errors
2003-10-21 15:14:33 +00:00
peter
77c5f6485d * fix vecnode code that caused to much register conflicts 2003-10-21 15:13:27 +00:00
peter
925bc3bbad * remove memdebug code for rg 2003-10-20 19:30:08 +00:00
peter
10f32e68cd * fix check for register subscription of reference parameter 2003-10-20 19:29:35 +00:00
peter
6ec273a878 * fix check for typecasting wrong sizes in assignment left 2003-10-20 19:29:12 +00:00
peter
1becfc28b4 * disable inlining when nested procedures are found 2003-10-20 19:28:51 +00:00
peter
d0b13d33c5 * fixed inlining float parameters for i386 2003-10-20 19:28:17 +00:00
florian
13a4e41b0c * improved speed; reduced memory usage of the interference bitmap 2003-10-19 12:36:36 +00:00
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