Commit Graph

7251 Commits

Author SHA1 Message Date
florian
655e947521 * better commenting 2005-01-04 20:14:40 +00:00
olle
94e74ca197 * sorted in correctly new tokens added by Karoly 2005-01-04 19:22:33 +00:00
olle
c2be1fd337 * made macpas switches in sync with turbo switches 2005-01-04 18:39:06 +00:00
Károly Balogh
088575dc32 + sysv style syscalls added for MorphOS 2005-01-04 17:40:33 +00:00
peter
d2c8a99440 * don't typecast index of indexed properties 2005-01-04 16:52:07 +00:00
peter
717e3c76c2 * set nf_is_self node flag when self is loaded 2005-01-04 16:39:46 +00:00
peter
14ccaf9c7b * allow enum with jumps as array index in delphi mode 2005-01-04 16:39:12 +00:00
peter
fd3f6a9017 * fix setting minval for enum with specified values 2005-01-04 16:38:54 +00:00
peter
537dcdde20 * don't allow properties in C style operators 2005-01-04 16:38:07 +00:00
peter
b88a75d42f * give error when property doesn't reference a method or field 2005-01-04 16:37:38 +00:00
peter
d111c8130a * don't release temps for array of ansistring 2005-01-04 16:37:09 +00:00
peter
cf8c959014 * release temps in array constructor 2005-01-04 16:36:51 +00:00
peter
720815e13b * fix aftercosntruction calls, vmt=1 is used to indicate that
afterconstruction needs to be called
  * only accept resourcestring when objpas is loaded
2005-01-04 16:36:31 +00:00
peter
b537382710 * give error when reading identifier > 255 chars 2005-01-04 16:34:03 +00:00
florian
bb096fcec6 * fixed nan et al. handling on arm 2005-01-04 16:20:51 +00:00
florian
a90585b5a4 * arm sets FPUFPA by default for now 2005-01-04 16:19:52 +00:00
florian
b6199234eb * prepared for fpu mode depended define 2005-01-04 16:18:57 +00:00
florian
6ab9be6a5d * implemented nostackframe calling convention directive 2005-01-04 15:36:32 +00:00
peter
296e81146e * insert stack_check helper call before doing register allocation
so the used registers can't be reused when parameters are loaded
    into register variables
2005-01-03 22:27:56 +00:00
peter
b34de6861f fix outline of 3rd level of options (-SI option mainly) 2005-01-03 20:27:47 +00:00
florian
80af47489d + first batch of patches to support tdef.getcopy fully 2005-01-03 17:55:57 +00:00
Jonas Maebe
f9b99ad965 * remove "release subregA; allocate other_subreg_of_A" sequences so the
register renaming doesn't stop early
2005-01-03 14:59:28 +00:00
peter
a8684d35ad unsigned*unsigned will also have unsigned result. 2005-01-02 17:31:07 +00:00
peter
a15f1c3283 * Don't release methodpointer. It is maybe still needed when we need to
convert the calln to loadn
2005-01-02 16:58:48 +00:00
florian
4900f10f2e * version and copyright increased 2005-01-02 10:20:08 +00:00
armin
f7a03147bb * increased maxsize of ExeCmd and DllCmd 2005-01-01 20:18:24 +00:00
armin
53f6eb9216 * support ! in import file names for netware also 2005-01-01 20:08:59 +00:00
florian
7d1dd39ecc * ie with array of const;cdecl; fixed 2005-01-01 19:30:17 +00:00
florian
18c1196125 * cleanup 2005-01-01 16:23:37 +00:00
florian
d41004eae3 * initial (non-complete) version by Ido Kanner aka ik_5 2005-01-01 15:17:07 +00:00
florian
91ef608143 * maybe_constant means also that a loc can be CREGISTER 2005-01-01 14:32:53 +00:00
florian
ed57ad0371 * improved code generation for OP_MUL/OP_IMUL 2005-01-01 13:19:09 +00:00
olle
de0440d620 + first version 2004-12-31 21:34:33 +00:00
marco
80132165d2 * regened with correct VERSION 2004-12-31 07:50:12 +00:00
marco
b8780d4782 * Makefile regened 2004-12-31 07:43:19 +00:00
Jonas Maebe
07d5650ab3 * fixes to interface style help 2004-12-30 19:06:56 +00:00
peter
6ae17badf1 * back to 1.9.5 for HEAD 2004-12-30 19:01:29 +00:00
peter
73585ab8ee * 1.9.6 2004-12-30 18:36:56 +00:00
Tomas Hajny
bdeab14b7f * missing utilsprefix added 2004-12-30 17:41:27 +00:00
Jonas Maebe
d898b8dfb7 * no more moving the loading of regvars past conditional jumps 2004-12-30 14:51:22 +00:00
florian
485b770322 * alignment fixes for sparc 2004-12-30 14:36:29 +00:00
Jonas Maebe
f041b36ce7 * fixed checking of overlapping references 2004-12-30 13:49:42 +00:00
michael
fe4c4fac08 + Fixed interface style help 2004-12-29 11:54:58 +00:00
olle
594a8cd94a + script which mimics the fpc program on MPW 2004-12-28 22:07:11 +00:00
olle
c9a59bbdfd * fixed typo in MPW error msg 2004-12-28 22:02:05 +00:00
olle
ea004048cb + suppression of link varning of 'qd' 2004-12-28 22:00:15 +00:00
Tomas Hajny
f290fbb299 * 8.3 fixes (short target name in paths) 2004-12-28 20:43:00 +00:00
Tomas Hajny
0d1a6fb4b2 * don't put quoted paths in link.res for OS/2 2004-12-28 20:39:12 +00:00
Jonas Maebe
53c04512cc * fixed several regvar related bugs, cycle with -OZp3r doesn't work
yet though
2004-12-28 18:01:40 +00:00
olle
3f7fdcb45e * fixed compilation for PowerPC 2004-12-28 02:25:43 +00:00
olle
5aa1ac7420 + added support for MPW error messages
+ added support for cooperative multitasking under MPW
2004-12-28 01:39:07 +00:00
Tomas Hajny
8b7e6be55c * missing maybequoted() added for deletion of generated .s files during external assembly 2004-12-27 19:48:58 +00:00
peter
ac962df59f * don't parse public,private,protected as procdirectives, leave
procdirective parsing before any other check is done
2004-12-27 17:32:06 +00:00
peter
f0267daa4a * also don't call procvar when converting to procvar 2004-12-27 16:54:29 +00:00
peter
c1bf99c30a * fix crash with callnode.ppuload when symtableproc=nil 2004-12-27 16:36:10 +00:00
peter
2a20174317 * set flag if a procedure references a symbol in staticsymtable 2004-12-27 16:35:48 +00:00
florian
5fb0678de2 * fixed class field info alignment 2004-12-27 15:54:54 +00:00
Jonas Maebe
b2869b3c75 * fixed internalerror when cycling with -O3p3u 2004-12-27 15:20:03 +00:00
Jonas Maebe
99cffcc375 - disable inlining for any procedure that contains assembler. Could
be enabled again if the procedure has neither local variables nor
    parameters.
2004-12-27 14:41:09 +00:00
peter
272cf5b9f1 * also compare procoptions and proctype when searching interface
implementations
2004-12-26 20:16:44 +00:00
peter
0d4ba90aa8 * don't allow class methods in interfaces 2004-12-26 20:12:23 +00:00
peter
65501ac04c * fix invalid typecast 2004-12-26 20:11:39 +00:00
peter
04e7db0905 * typecast float to non-float needs a move to memory 2004-12-26 20:09:35 +00:00
peter
ced6bf20cd * fix lineinfo for with blocks 2004-12-26 16:22:01 +00:00
peter
a1c525a3e6 * resourcestring does not need exception frame 2004-12-26 16:21:39 +00:00
florian
f068e0c3da * fixed extended->double/single conversion when using sse 2004-12-25 12:29:08 +00:00
florian
0ad4b9d394 * optimized float to float conversion 2004-12-25 10:48:17 +00:00
Jonas Maebe
d377cacc61 * fixed call-by-value passing of records with size 1, 2 or 4 for AIX abi
(using a hack, normally all records should by passed by value under the
     aix abi, but that's currently impossible)
2004-12-24 15:00:11 +00:00
Jonas Maebe
067c588089 - removed unused variables 2004-12-24 11:58:33 +00:00
Jonas Maebe
4c3b9ce6c3 * fixed a_jmp_name() for darwin 2004-12-24 11:51:55 +00:00
Jonas Maebe
bbb95a65f7 * fixed typo 2004-12-23 18:45:23 +00:00
peter
1da9e24cee * support sizeof()
* fix typecasting a constant like dword(4)
2004-12-22 17:09:55 +00:00
peter
dc363f29bc * maybequoted() added 2004-12-22 16:32:45 +00:00
michael
1027d1941d + Enable local debug info in methods 2004-12-21 08:38:16 +00:00
peter
f52d2b2edf * regenerated 2004-12-20 18:37:51 +00:00
peter
ba3516dff6 * A_IMUL readwrite operand 1 2004-12-19 21:34:09 +00:00
peter
3c3ec40b70 * regenerated 2004-12-19 17:42:32 +00:00
florian
ce3f177339 * dyn. linker path fixed for x86_64 2004-12-19 14:03:16 +00:00
florian
b44f17099c * fixed some alignment trouble 2004-12-18 15:48:06 +00:00
florian
c279c13d17 * the optimization fstp f;fld f to fst f disabled; leads to rounding problems 2004-12-18 15:21:56 +00:00
Jonas Maebe
84aa52942f * fixed tracking of usage of flags register
* fixed destroying of "memwrite"'s
  * fixed checking of entire sequences in all cases (previously this was
    only guaranteed if the new sequence was longer than the old one, and
    not if vice versa)
  * fixed wrong removal of sequences if a register load was already
    completely removed in the previous sequence (because in that case,
    that register has to be removed and renamed in the new sequence as
    well before removing the new sequence)
2004-12-18 15:16:10 +00:00
Jonas Maebe
a3627d9345 * fixed compilation with -dcsdebug -dallocregdebug 2004-12-18 14:07:35 +00:00
marco
e79fb753bc * slash typo 2004-12-16 08:06:42 +00:00
peter
c3f6b3125e * 64bit typecast 2004-12-15 21:09:06 +00:00
peter
29db12ecfa * disable inlining across units when the inline procedure references
a variable or procedure in the static symtable
2004-12-15 21:08:15 +00:00
peter
fad0e529a4 * syscall with sysv abi for morphos 2004-12-15 19:30:32 +00:00
peter
d387fda801 * give error when paraloc is not filled in order_parameter 2004-12-15 19:30:16 +00:00
peter
9e49f8eef9 * fixed crash with -vp 2004-12-15 17:01:28 +00:00
marco
9dec5c3179 * introduction "cleanpath" (=fexpand), fixfilename(paramstr(0)) + search $PREFIX/etc/fpc.cfg 2004-12-15 16:06:47 +00:00
peter
00c14e1083 * external is again allowed in implementation 2004-12-15 16:00:16 +00:00
peter
5576ae73a6 * fix visibility of protected/private 2004-12-15 15:59:54 +00:00
Jonas Maebe
0f2922f5a1 * fixed foreachnode(static) for case nodes (fixes inlining of case
statements)
2004-12-15 15:27:03 +00:00
peter
ed9f8f54e7 * generic optimizer 2004-12-12 14:07:07 +00:00
peter
1c458abb0b * compile fixes for x86_64 2004-12-12 12:56:18 +00:00
peter
749afb3dec * small optimization with options passed to cycle 2004-12-12 12:33:25 +00:00
florian
0037f4a199 * fixed operand size calculation for sse operands
+ all nasm assembler targets to help page output added
2004-12-12 10:50:34 +00:00
florian
4d25901e99 * check if the selected assembler supports current target improved 2004-12-12 00:35:19 +00:00
florian
dc98c3265f * check if the selected assembler supports current target 2004-12-12 00:31:52 +00:00
Jonas Maebe
9e24c28774 - removed superfluous location_force_reg() in second_nothing 2004-12-11 15:25:40 +00:00
Jonas Maebe
d7c52f4062 * external vars are not regable 2004-12-11 15:19:08 +00:00
florian
78bff4ff2e * made some target short names look more nicer 2004-12-11 14:39:03 +00:00
Jonas Maebe
fcf16c4983 * fixed synchronising 64bit regvars on 32bit systems at the start and
end of procedures
  * hack for ppc for loading of paras from their callee location to local
    temps
2004-12-11 12:42:28 +00:00
Jonas Maebe
62d4f7dd52 * fixed regvar problem due to emit_bit_test() changing a register that
was allowed to be a LOC_CREGISTER
2004-12-11 01:04:26 +00:00
Jonas Maebe
7c9d8d8872 * fixed int64 regvar bug in location_force_register 2004-12-11 01:03:01 +00:00
Jonas Maebe
2bd47e8ce6 * fixed type conversion between same-size ints with different signs in
case the value is already in a register
2004-12-10 23:38:54 +00:00
Jonas Maebe
95348379fa * certain type conversions have no cost (also fixes problem of
inc(int64) with regvars turned on on non-64bit platforms)
2004-12-10 13:16:31 +00:00
peter
78c2af7b3c * set vo_explicit_paraloc flag 2004-12-07 16:11:52 +00:00
peter
a266052fd9 * modified algorithm for shortening manglednames to fix compilation
of procedures with a lot of longtypenames that are equal, see
    tw343
2004-12-07 15:41:11 +00:00
michael
44bf61f445 * Convert array of widechar to pwidechar instead of pchar 2004-12-07 13:52:54 +00:00
peter
9c0be16488 implicit load of variants unit 2004-12-06 19:23:05 +00:00
Jonas Maebe
5b7ffabd0c * only set/clear bit 6 of cr in case of varargs for the sysv abi 2004-12-06 18:06:37 +00:00
Jonas Maebe
4f53d8367d * introduced bug (x shl 65 = x shl 1 when shifting with a constant, but
still 0 otherwise) to pass tshlshr
2004-12-06 17:53:43 +00:00
peter
d45dea5db8 * fix methodpointer compare, compare only the proc field 2004-12-06 15:57:22 +00:00
Tomas Hajny
390876bdb4 * Makefiles regenerated 2004-12-05 16:54:46 +00:00
Tomas Hajny
12a5595b20 * Makefiles regenerated 2004-12-05 16:46:49 +00:00
peter
2b6456fe16 * procvar handling for tp procvar mode fixed
* proc to procvar moved from addrnode to typeconvnode
  * inlininginfo is now allocated only for inline routines that
    can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
Tomas Hajny
efda160d12 * fix for compilation on 8.3 filesystems 2004-12-05 12:25:48 +00:00
florian
8b9c48e7fb * fixed compiler side of variant <-> dyn. array conversion 2004-12-05 12:15:11 +00:00
olle
53f77231d5 + bugfix for $Z+ for mode macpas 2004-12-05 00:32:56 +00:00
Jonas Maebe
49a8939b22 * modifications to work with the generic code to copy LOC_REFERENCE
parameters to local temps (fixes tests/test/cg/tmanypara)
2004-12-04 21:47:46 +00:00
florian
d018160981 * fixed compilation 2004-12-04 15:23:00 +00:00
peter
57dc23a294 * fix crashes with nodeinlining 2004-12-03 16:07:04 +00:00
peter
36268edfed * fix for int64 parameters passed in a single LOC_REFERENCE of 8 bytes 2004-12-03 16:06:31 +00:00
peter
5ee4b9ad24 * use tlocation for tempnodes 2004-12-03 16:04:47 +00:00
peter
466c376d13 * LOC_CREGISTER fix 2004-12-03 15:58:11 +00:00
peter
c2263a36ac * int64 can also be put in a register 2004-12-03 15:57:39 +00:00
peter
6fa0391558 * fix for 1.9.4 that IE'd when rebuilding fpc 2004-12-03 15:57:11 +00:00
peter
959bdccc49 * disable pass2inline 2004-12-02 19:26:14 +00:00
Jonas Maebe
bd04491f50 * patch from Peter to fix inlining of case statements 2004-11-30 18:13:39 +00:00
peter
24cc110e9f * public is allowd in interface 2004-11-29 21:50:08 +00:00
peter
7c144223ad * fixed wrong calculation for checking default parameters 2004-11-29 21:40:54 +00:00
peter
459858305e * location_force_reg in second_nothing can reuse LOC_CREGISTER 2004-11-29 21:02:08 +00:00
peter
cd4534c862 * uninited results 2004-11-29 20:50:37 +00:00
michael
d4b8a224a1 + Added license to this library 2004-11-29 19:16:43 +00:00
peter
06cfe01791 * os2 fixes for import
* asmsymtype support for intel reader
2004-11-29 18:50:15 +00:00
peter
05127d887d * when importing by index don't change mangledname 2004-11-29 17:48:34 +00:00
peter
5f61be6b4d * prevent some IEs with delphi methodpointers 2004-11-29 17:32:56 +00:00
Jonas Maebe
97b2ef94c1 * loadvmtaddrn and loadparentfpn both have complexity 1 (the latter
fixes compilation of tw0935 with nodeinlining)
2004-11-28 19:29:45 +00:00
Jonas Maebe
21c7a9db2f * fixed check for regvar-ability of tempnodes 2004-11-28 19:16:53 +00:00
Jonas Maebe
38db3679d8 * only try to replace locals from the inlined procedure with temps,
cycle now works with -dNODEINLINE
2004-11-28 14:34:59 +00:00
Jonas Maebe
f244dea6ec * fixed some bugs in the node inlining code due to the transition from
dynamic array to tlist
  * fixed some register temp bugs (node inlining still does not work again
    though)
2004-11-27 22:43:01 +00:00
florian
54ceea9e60 * some m68k stuff updated 2004-11-27 16:16:02 +00:00
peter
1fcd2cd8ad * internal flag for compare_defs_ext 2004-11-26 22:34:28 +00:00
peter
1418add0e0 * don't allow pointer(ordinal) typecast in fpc mode, only allow it
for delphi and for internal use
2004-11-26 22:33:54 +00:00
peter
b55fe3fa67 * don't allow @method in tp procvar mode 2004-11-26 22:33:24 +00:00
peter
08d0d3b73c * fixed read temp for result 2004-11-26 22:33:00 +00:00
armin
f4ffaa9828 * applied peters patch for cross compile (bin installation) 2004-11-26 13:03:07 +00:00
Jonas Maebe
26ab4ead33 * fixed intermittent bug in overflow checking of subtractions 2004-11-26 12:30:47 +00:00
Jonas Maebe
fff0683902 * fixed overflow checking of unsigned multiplications 2004-11-26 12:17:04 +00:00
armin
2189bb812b * added utilsprefix for as,ld and nlmconv 2004-11-25 18:46:11 +00:00