Commit Graph

7531 Commits

Author SHA1 Message Date
peter
9843416e70 * always use exceptions to stop the compiler
- remove stop, do_stop
2005-04-24 21:01:37 +00:00
florian
acee3f0dbb + more module flags added 2005-04-24 20:00:57 +00:00
Jonas Maebe
f2861fb260 * fixed deletefile -> removefile 2005-04-23 19:42:54 +00:00
Tomas Hajny
b4304d6fe1 * DeleteFile replaced with RemoveFile to avoid duplicate 2005-04-23 14:15:58 +00:00
Jonas Maebe
66755db8b4 * fixed web bug #3905 2005-04-22 15:55:08 +00:00
florian
2bbc4601c3 * update from jordi 2005-04-20 08:13:25 +00:00
peter
2d62e884c8 * only give warnings for uninitialized variables in low()/high()
if the value is calculated at runtime
2005-04-15 15:50:18 +00:00
peter
9db3d9e07c * -Fe on commandline redirects now all output 2005-04-15 15:43:54 +00:00
florian
b077b506d3 * another update by Ido 2005-04-10 08:11:14 +00:00
peter
88681a14c7 support string[index] for const/var assignment 2005-04-08 15:18:32 +00:00
peter
1b41aad3a0 remove multiple pass2 calls. It is not supported anymore by all nodes (ttempcreatenode) 2005-04-08 15:18:08 +00:00
peter
68ac3b0ab2 remove forcing of non-regvar for left node when converting to non-regvar 2005-04-08 15:16:37 +00:00
peter
41c253b65d * during spilling only add deallocs to live_registers that belong
to the instruction
2005-04-07 16:25:05 +00:00
peter
e207c402fc * only in EXTDEBUG leave register allocator when it fails. Otherwise
give an IE
2005-04-07 15:42:04 +00:00
florian
e33bf907d8 * fixed previous commit 2005-04-06 19:39:04 +00:00
florian
1f4e15705c * hidden parameters can be put now in registers as well 2005-04-06 19:09:39 +00:00
michael
55e76063df * Fix methodpointer copy from callnode to loadnode 2005-04-06 11:49:37 +00:00
michael
3e54552235 + * fix constant folding for string+char (from Peter) 2005-04-06 07:31:51 +00:00
peter
521b7cfa3b * load all complex loads of parameters that are needed multiple times
to a temp to prevent calling functions twice
2005-04-05 21:07:43 +00:00
peter
50bbe3c205 * support typecasting a ordinal const to 8 byte record. a_param_loc
can't be used. Instead force the location to memory so it uses
    a_param_ref
2005-04-05 21:06:44 +00:00
peter
218930cf11 * support open array to pointer 2005-04-04 16:30:07 +00:00
peter
494e190694 * fix register allocation in second_assert 2005-04-04 16:04:47 +00:00
florian
c5c6df8237 * class ref. properties can be published now 2005-04-03 15:20:42 +00:00
olle
f60d0b98b7 * Bugfix 2005-04-03 08:48:58 +00:00
marco
8d69beb6ef * from peter for bug #3862 2005-04-01 07:12:29 +00:00
olle
afdcfb08ce * Disabled warning for undefined compile time var in mode macpas, since it did not work. 2005-03-28 21:34:36 +00:00
peter
a96693cee1 support (wide)char to pwidechar 2005-03-28 15:19:18 +00:00
peter
e71066495c fix type of temps generated for parameters during inlining 2005-03-28 15:05:17 +00:00
peter
6e3d03da7e valid_property is only used for calln. Fields are always allowed 2005-03-28 15:04:40 +00:00
peter
3446cb0f2f fix loading of inline info 2005-03-28 15:04:13 +00:00
florian
10df6ea0a2 * fpc_variant_get call fixed 2005-03-28 14:14:52 +00:00
florian
a680ccb389 + variants are now assigned using fpc_variant_copy 2005-03-28 13:36:15 +00:00
peter
12283206d1 named sections for intf wrappers 2005-03-28 13:10:22 +00:00
florian
252fa84c62 + compiler support for reading/writing of vararrays 2005-03-27 20:19:21 +00:00
Jonas Maebe
bfa2301575 * const record parameters > 8 bytes are now passed by reference for non
cdecl/cppdecl procedures on Mac OS/Mac OS X to fix compatibility with
    GPC (slightly more efficient than Metrowerks behaviour below, but
    less efficient in most cases than our previous scheme)
  + "mwpascal" procedure directive to support the const record parameter
    behaviour of Metrowerks Pascal, which passes all const records by
    reference
2005-03-27 14:10:52 +00:00
Jonas Maebe
6578fb25bb - removed unused variables 2005-03-25 23:03:04 +00:00
peter
3f9d6ab32f * add hint when passing an uninitialized variable to a var parameter 2005-03-25 22:20:18 +00:00
Jonas Maebe
a5c94ddccd * removed some unused variables 2005-03-25 21:55:43 +00:00
Jonas Maebe
9fc51ed8f0 * terrornode.create -> cerrornode.create 2005-03-25 21:46:06 +00:00
Jonas Maebe
0b3003fb78 - removed unused variables 2005-03-25 21:22:30 +00:00
Jonas Maebe
bb27e8b024 * fixeed uninitialised variable
- removed unused local variables
2005-03-25 21:21:30 +00:00
peter
bd34e0dd69 * don't remove repeat until node in repeat until true; 2005-03-24 23:06:43 +00:00
florian
409eec37c3 * small compilation fix 2005-03-24 13:30:17 +00:00
olle
878c56bad6 * Cleaned up handling of source file extension.
+ Added support for .p extension for macos and darwin
2005-03-20 22:36:45 +00:00
florian
1323b56132 * USECMOV activated 2005-03-20 21:41:29 +00:00
florian
33ec5d49c5 * USECMOV fixed 2005-03-20 21:41:10 +00:00
peter
5452cccaad * fix spilling code when explicit cpu registers are used in an
instruction
2005-03-20 19:47:46 +00:00
olle
7cb6368f12 * Support for pascal constant expr in compile time expr, is now only allowed in mode Delphi
+ Warning for undefined compile time var in mode macpas
  * Support for some turbo directives in mode macpas
  * Support for Metrowerks style DEFINED xxx
2005-03-20 18:13:34 +00:00
peter
ae0eb8d607 don't check size differences for booleans 2005-03-18 16:41:27 +00:00
michael
efbc08d4b2 + Patch from peter to fix overload directive cheking in delphi mode 2005-03-17 09:08:54 +00:00
peter
dbcfe36b70 * check parameters of str() better 2005-03-16 21:24:43 +00:00
peter
e250290e57 * allow property in objects in all modes except tp 2005-03-16 21:09:22 +00:00
peter
20ad7813c2 * fix empty varargs codegeneration for x86_64 2005-03-14 20:18:46 +00:00
peter
a82ee06691 * for methodpointers compare only proc field 2005-03-14 20:18:22 +00:00
peter
aee4b7bcf7 * also set intsize for paralocs written to ppu 2005-03-14 15:59:18 +00:00
florian
0cd81efba7 + storing non-extended floats to memory generates now a fwait to get exceptions at the correct place 2005-03-13 17:15:26 +00:00
florian
b068bfbfc4 + reset in InitSymtable some global vars to avoid trouble with the ide 2005-03-13 12:15:44 +00:00
florian
0ef8431a3f + made @(<formaldef>) assignment compatible with all pointer types 2005-03-13 11:42:48 +00:00
florian
6601ef0ca8 + gpc mode uses tp_procvars 2005-03-13 11:27:52 +00:00
florian
7b56e65a4b * fixed FieldAddress for 64 bit and CPUs requiring proper alignment 2005-03-13 08:34:58 +00:00
florian
737a81f30b + array -> dyn. array type cast 2005-03-11 21:55:43 +00:00
florian
08b1126467 * jordi: initial release, based on 1.119 errore.msg 2005-03-10 10:38:32 +00:00
peter
4794119dd3 movzx,movsx don't support memory destinations 2005-03-10 00:27:04 +00:00
peter
5ed8259ff6 don't allow overloading orddef,enumdef.floatdef for unary operators 2005-03-10 00:15:20 +00:00
peter
d24397b6e6 support external <dllname>; also for variables 2005-03-09 23:44:18 +00:00
peter
96d7cbeddc put intf wrappers in code section 2005-03-09 22:37:24 +00:00
florian
6f86fd170d * janio: synched with errore.msg 1.120 2005-03-07 19:52:29 +00:00
peter
09b85c2df2 * explicit paraloc for funcret
* libsym for powerpc ppu's
2005-03-07 18:38:46 +00:00
peter
100a47e6af * fix protected checking 2005-03-07 17:58:27 +00:00
peter
748df1810f * use lib64 for x86_64 2005-03-07 17:10:00 +00:00
Jonas Maebe
6cc3dbae94 * fixed web bug #3694 2005-03-05 20:08:27 +00:00
florian
eeaded577a * fixed copy(dyn. array,...); 2005-03-05 16:37:28 +00:00
Jonas Maebe
38f57c30fe * fixed printnodelist indentation 2005-03-05 16:17:30 +00:00
Jonas Maebe
adc5f048eb * fixed small bug in ttypeconvnode.printnodeinfo 2005-03-05 16:09:20 +00:00
peter
abb3f82ceb * getheapstatus fixes 2005-03-04 16:49:22 +00:00
peter
baa6032362 * maybequoted for windres args 2005-03-04 16:49:14 +00:00
Jonas Maebe
d612918bb2 * fixed Lazarus compilation 2005-03-04 09:56:35 +00:00
Jonas Maebe
39a372756f * properties can also be inherited/overridden 2005-03-04 07:46:36 +00:00
Jonas Maebe
7fb6b96aed * fixed web bug #3738 2005-03-03 19:58:14 +00:00
Jonas Maebe
86765dcf57 * fixed web bug #3740 2005-03-03 19:36:42 +00:00
Jonas Maebe
ac931f6846 * use expectloc in firstcomplex() 2005-03-02 19:44:11 +00:00
Jonas Maebe
43c5b3fd29 * fixed web bug #3533 2005-03-01 21:28:50 +00:00
marco
daf59fbd7e * getFPCheapstatus (no, FPC HEAP, not FP CHEAP!) 2005-02-28 15:38:38 +00:00
peter
fe9bf2081d Support constants and IN operator in preprocessor patch by Christian Iversen 2005-02-27 17:15:01 +00:00
peter
6e0cf1751a fix register deallocation for 64bit results 2005-02-27 16:40:13 +00:00
florian
c63ac52ac5 * fixed msg for -Xc 2005-02-26 17:50:37 +00:00
florian
64b742c558 * update from Ido Kanner aka ik_5 2005-02-26 15:51:23 +00:00
florian
534b11cfb1 * userdata in file/textrecs now 32 bytes 2005-02-26 15:42:45 +00:00
Jonas Maebe
46c1b41a7b - removed unused unit 2005-02-26 15:06:26 +00:00
Jonas Maebe
ec959955bd * fixed generic jumps optimizer and enabled it for ppc (the label table
was not being initialised -> getfinaldestination always failed, which
    caused wrong optimizations in some cases)
  * changed the inverse_cond into a function, because tasmcond is a record
    on ppc
  + added a compare_conditions() function for the same reason
2005-02-26 01:26:59 +00:00
Jonas Maebe
126f3fa6cf * fixed loop which could go into neverneverland in case of embedded
assembler blocks
2005-02-26 01:23:29 +00:00
Jonas Maebe
04b1263e7f * fixed uninitialised function result in getfinaldestination() when
maximum recursion reached
2005-02-25 20:50:53 +00:00
peter
b1900cc269 * 1.9.9 2005-02-25 11:41:26 +00:00
florian
d266bc32d9 + variants can be used as cond. expr. in if, while, repeat ... until statements 2005-02-23 20:38:09 +00:00
florian
2b67164568 * optimizer files fixed 2005-02-20 19:36:03 +00:00
florian
871fd8d2b8 * initial commit 2005-02-20 19:11:04 +00:00
peter
339fed5022 * allow assignment to elements of constant dyn array in delphi mode 2005-02-20 13:12:22 +00:00
florian
00d9868260 * fixed constant insertation 2005-02-20 12:23:45 +00:00
florian
52337789b9 * -XP added 2005-02-19 18:50:20 +00:00
florian
83b04efbc3 * defaultreplacement expansion for -XP and -Xr 2005-02-19 18:32:16 +00:00
florian
16718b81e4 * cross compiliation defines 2005-02-19 18:10:57 +00:00
Jonas Maebe
706a87c2df * don't lose sign of ord types for register parameters 2005-02-19 14:04:14 +00:00
Jonas Maebe
6c38093871 * fixed spilling for several ppc instructions which only read registers
+ added support for registers in references that get changed (load/store
    with update)
2005-02-18 23:37:51 +00:00
Jonas Maebe
0e4f1738cd - removed a non-existing instruction (lcrxe)
* fixed an instruction (maffs_ -> mffs)
2005-02-18 23:05:47 +00:00
peter
0ae80eea41 * allow enum arithmetics inside an enum def, compatible with delphi 2005-02-17 17:52:39 +00:00
peter
047c28d993 * member call to constructor returns void to prevent
generating unexpected code. Otherwise the return value is always
    equal to self, which can also be directly accessed
2005-02-17 17:50:26 +00:00
olle
562201e27b * made macos compile 2005-02-16 22:39:25 +00:00
florian
8305aa8781 * fixed storing of floating point registers for procedures with large temp. area
* fixed int64 comparisation
2005-02-16 22:02:26 +00:00
peter
bc0c22df82 * back to 1.9.7 for head 2005-02-15 22:31:35 +00:00
peter
aa5b73f3ec * 1.9.8 2005-02-15 22:28:29 +00:00
peter
5edffaf371 * remove is_single_reference
* revert loading of ref-to-ref para valu
2005-02-15 21:39:48 +00:00
florian
f3df72d1b1 * don't split indirect calls while inserting pc relative constants 2005-02-15 21:24:40 +00:00
florian
f3b711d3bf * don't generate overflow results if they aren't necessary
* fixed op_reg_reg_reg_reg on arm
2005-02-15 19:53:41 +00:00
florian
5812a84648 * another update from ik_5 2005-02-15 19:48:54 +00:00
peter
dd0664156d * fix passing of 64bit values when using -Or 2005-02-15 19:16:04 +00:00
peter
2ec108a9c7 * Handle Control-C exception more cleanly 2005-02-15 19:15:45 +00:00
peter
482d781af3 win32 stdcall fixes needed for tw3650 2005-02-14 19:42:02 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
5251f0fd2a * obsolete 2005-02-14 17:07:09 +00:00
peter
3af83637d8 * allow more operations on integers with a typecast to pointer 2005-02-14 16:45:00 +00:00
peter
cae7c0baee * allow nil^ passed to var parameter 2005-02-13 20:33:57 +00:00
florian
2ce96cbca7 * files with long names removed 2005-02-13 20:15:55 +00:00
peter
97e28bd218 * sunos to solaris 2005-02-13 20:11:16 +00:00
florian
e26ab8447c * better alignment checking 2005-02-13 19:57:15 +00:00
florian
8cf4e1a6d3 * setup ovlov correctly 2005-02-13 19:12:05 +00:00
florian
f58fcdf401 + basic mips stuff 2005-02-13 18:56:44 +00:00
florian
22d9294ab3 + overflow checking for the arm 2005-02-13 18:55:19 +00:00
peter
d4be793575 * fix IE with array of const in array of conts 2005-02-11 16:25:26 +00:00
peter
a85e9e6485 * don't set varstate to vs_used for record in with at start yet 2005-02-11 16:24:59 +00:00
Jonas Maebe
a823a15888 * records which consist of only a union of one element have to be passed
according to record parameter passing rules, not according to the rules
    of that item's type (change relevant to AIX abi only)
2005-02-11 15:20:23 +00:00
Károly Balogh
e3cefd8ec6 * cleanups, finalized vlink support 2005-02-11 07:23:22 +00:00
peter
eae47d058b * implprocs requires no duplicate entries of the same procdef 2005-02-10 22:08:37 +00:00
peter
4637e51462 * remove obsolete code 2005-02-10 22:08:03 +00:00
peter
2ce81b5177 * data with inittables need to have a memory location assigned
for incrref
2005-02-10 21:54:36 +00:00
peter
067201723d * fixed call to build sourcefiles needed for ide 2005-02-10 20:06:34 +00:00
olle
1a87bc0ff3 * fixed erroneous asm line directive 2005-02-08 22:46:00 +00:00
olle
e90d15bd5e * fixed compilation on MacOS 2005-02-08 22:33:51 +00:00
olle
72f24474fb + added SIZE resource facilities 2005-02-08 22:30:32 +00:00
florian
1dcb2e55bc * fixed usage of 000 as label 2005-02-08 21:25:14 +00:00
florian
d68c5e9079 * dyn. arrays are returned in registers 2005-02-08 16:40:16 +00:00
florian
72f65a379f * fixed typo in define 2005-02-07 21:30:25 +00:00
peter
11f6fbafca -vz for output to stderr 2005-02-07 17:25:28 +00:00
peter
c5488ea6b1 * -Fa option added, it'll load the units before the uses
line is parsed. Can be used to load cthreads from the commandline.
    Example '-g -Faheaptrc,lineinfo' is the same as '-ghl'
2005-02-06 21:33:28 +00:00
florian
acc34b08cd * fixed precedence of is-operator 2005-02-06 20:29:12 +00:00
peter
9a8e62553a * oldfpccall fixed 2005-02-06 19:55:19 +00:00
peter
adc66eaf55 * arrays are always passed by addr
* cdecl array of const is passed by value so it doesn't allocate
    anything
2005-02-06 18:59:15 +00:00
peter
ad9d04f104 * removed $threading 2005-02-06 11:15:31 +00:00
florian
b1c8bfc478 + x86_64 pic draft 2005-02-06 00:05:56 +00:00
florian
3835b9f13b * fixed previous commit 2005-02-05 18:32:17 +00:00
florian
e94fe45846 * fixed dword -> qword/int64 type cast on x86_64 2005-02-05 18:08:48 +00:00