Commit Graph

7425 Commits

Author SHA1 Message Date
peter
110fb12911 * regenerated 2005-02-03 20:33:26 +00:00
peter
18ebd28692 * push_addr_param must be defined per target 2005-02-03 20:04:49 +00:00
florian
81c3feca81 + support for another explicit ugly delphi type cast added 2005-02-03 19:24:33 +00:00
florian
a2a4985896 * in delphi mode const sets from enumerations with values > 255 are allowed if these elements aren't used 2005-02-03 18:43:59 +00:00
peter
75f0b9eb40 * fix extended paraloc 2005-02-03 18:32:25 +00:00
peter
43508f7ffc * updated comments 2005-02-03 17:18:10 +00:00
peter
ffb7b80888 * more procvar directive fixes 2005-02-03 17:11:40 +00:00
peter
16a60238c6 * check for-loop constants ranges 2005-02-03 17:10:58 +00:00
peter
8f2a768124 * fix win32 small array parameters 2005-02-03 17:10:21 +00:00
Károly Balogh
9ccc0ffda7 t_morph.pas 2005-02-03 03:54:06 +00:00
florian
b060f8f10a * delphi assumes dyn. array access make expressions l-values because it's internally a pointer 2005-02-02 22:16:39 +00:00
florian
af18e7359f + allow to take the address of a resourcestring in typed constants 2005-02-02 19:42:19 +00:00
florian
90d88ec1a5 * <class/interface>(<any ord. type>) in delphi mode allowed 2005-02-02 19:04:31 +00:00
florian
f5cab73217 * fixed proc. vars with calling specifiers in usual var declarations 2005-02-02 19:03:27 +00:00
florian
71679e0662 * type = type <procvar>; ignored 2005-02-02 19:02:47 +00:00
Károly Balogh
452de9187c * removed debug writelns from florian's previous commit 2005-02-02 02:19:42 +00:00
florian
49347a0117 * fixed:
r1 = record
      p : procedure stdcall;
      i : longint;
    end;
2005-02-01 23:18:54 +00:00
florian
5007b3e395 * inherited; works now in delphi mode for private methods; looks like a delphi bug 2005-02-01 22:50:50 +00:00
olle
d5d8694c96 * macpas now uses tp style proc params 2005-02-01 17:57:30 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
olle
4f43c7e09f + Added fake Exception classes, only for MACOS. 2005-01-31 21:30:56 +00:00
peter
371e741a9d * macpas procvars in parameters 2005-01-31 21:27:51 +00:00
peter
e24eb1f631 * set varstate before parsing the instruction block in for statements 2005-01-31 20:23:53 +00:00
peter
101705af37 * another guid range check error 2005-01-31 19:41:01 +00:00
peter
f5e21ec2ff * fixed parseparaloc 2005-01-31 17:46:25 +00:00
peter
79eac1c0b3 * fix [regpara] in intel assembler 2005-01-31 17:07:50 +00:00
peter
cc2789b680 * for-node cleanup, checking for uninitialzed from and to values
is now supported
2005-01-31 16:16:21 +00:00
peter
be1808953c * fix laststatement() 2005-01-31 16:15:17 +00:00
peter
9cf82cd7f6 * zero based array with elementsize>1 fix 2005-01-31 16:15:04 +00:00
Jonas Maebe
2e944b3b71 * fixed darwin cycle 2005-01-30 21:51:57 +00:00
florian
f1892e7e56 * better alignment on linux 2005-01-30 17:45:38 +00:00
florian
56f1af83a9 * variables exported by $J/$Z in macpas mode are never regable 2005-01-30 17:17:19 +00:00
florian
bd31b225a0 * fixed compilation of arm compiler 2005-01-30 14:43:40 +00:00
peter
14f2a9d757 * only add @link.res if source is go32v2 2005-01-30 12:03:28 +00:00
peter
4631658576 * add info that a procedure is local in error messages 2005-01-30 11:26:40 +00:00
peter
46dbff9c93 * revert last commit 2005-01-30 11:03:22 +00:00
peter
cd01e600b9 * update x86_64 with new cpupara 2005-01-29 11:36:52 +00:00
peter
3dcc711558 * fixed x86_64 compile 2005-01-29 00:40:18 +00:00
peter
f818478945 * finalize for refcounted strings shall also reset temps to 0, the
previous exception that decrrefcnt already set it to 0 is not valid
    anymore
2005-01-29 00:32:53 +00:00
florian
651f9e5bbd + implemented overflow checking for 64 bit types on sparc 2005-01-27 20:32:51 +00:00
peter
d3b559cfcc * detect arithmetic overflows for constants at compile time
* use try..except instead of setjmp
2005-01-26 16:23:28 +00:00
florian
4efb72e13d * fixed load64 which shouldn't do a make_simple_ref 2005-01-25 20:58:30 +00:00
peter
b009240860 * fix overload choosing with an qword overload
* allow to get the address of string temps in delphi mode
2005-01-25 18:49:45 +00:00
peter
6ee925dec8 * spaces in register names 2005-01-25 18:48:34 +00:00
peter
0991cb288d * tf_pic_uses_got added 2005-01-25 18:48:15 +00:00
peter
e820bc93f2 * interface wrapper generation moved to cgobj
* generate interface wrappers after the module is parsed
2005-01-24 22:08:32 +00:00
peter
bb7b812beb * remove multiple typeconvs for procvar 2005-01-24 21:39:03 +00:00
florian
c08ec5fbf3 * wrong prefix output for masm fixed 2005-01-24 20:44:29 +00:00
olle
a9e90b796f + msg2inc now executed, utils is compiled 2005-01-24 18:18:46 +00:00
Jonas Maebe
28ea4a8fd4 * fixed bug introduced in revision 1.6 2005-01-24 18:13:46 +00:00
olle
2f38fbd7c2 * In MPW, whole path to source file is now displayed in messages. 2005-01-24 18:12:17 +00:00
olle
f5f6d7bf36 + Mac style resource files can now be included in MacOS 2005-01-24 18:10:20 +00:00
olle
39ba224077 + Mac style resource files can now be included in MacOS 2005-01-24 17:53:12 +00:00
olle
469d1cc5cf + ppu files now has FPas as creator code on MacOS 2005-01-24 17:46:18 +00:00
olle
b78d92b99d + added support for macos 2005-01-24 17:41:57 +00:00
florian
0fe35da937 * fixed math constants for big endian cpus 2005-01-23 22:13:50 +00:00
florian
020bbc8913 * another improvement of pi handling 2005-01-23 21:47:14 +00:00
florian
cc9534cf41 + added pi bit pattern to the compiler, so pi should always be correct 2005-01-23 21:09:11 +00:00
florian
00324d38bf + optimized code generation on sparc
+ some stuff for pic code on sparc added
2005-01-23 17:14:21 +00:00
florian
98a5e2b00a * update from Ido Kanner aka ik_5 2005-01-22 20:05:51 +00:00
florian
3eb9e80603 * optimized register usage for non-x86 e.g. 3 operand cpus 2005-01-20 21:28:52 +00:00
peter
35e466d971 * remove copy_value_on_stack and a_param_copy_ref 2005-01-20 17:47:01 +00:00
peter
ea269120e5 * $COPERATORS added 2005-01-20 17:32:33 +00:00
peter
7848d612cd * fixed -vv 2005-01-20 17:29:07 +00:00
peter
79c20ebf7d * use val() for decoding integers 2005-01-20 17:05:53 +00:00
peter
04c97cc129 * load jmp_buf_size from system unit 2005-01-20 16:38:45 +00:00
florian
2729f303a4 * taking the address of a resourcestring is allowed now 2005-01-19 23:23:12 +00:00
peter
8d251e8506 * unit mapping rewrite
* new derefmap added
2005-01-19 22:19:41 +00:00
peter
66d9ada975 * build wordversion from constants 2005-01-19 21:10:15 +00:00
florian
b41c21e6d2 * tmypointer(12435)^ is an l-value 2005-01-19 20:53:27 +00:00
peter
c9f22afb8d * support labels in references 2005-01-19 20:21:51 +00:00
florian
4647e2e720 * init./final code isn't created for pure assembler procedures anymore 2005-01-19 20:04:46 +00:00
peter
b9ca478f50 * multiple location support for i386 a_param_ref
* remove a_param_copy_ref for i386
2005-01-18 22:19:20 +00:00
peter
ba4228d281 * fix section names 2005-01-18 17:49:45 +00:00
peter
0050ff5ab9 * ignore more delphi directives 2005-01-18 15:44:43 +00:00
florian
f20af0b344 * typeinfo in typedata is now aligned 2005-01-16 14:47:26 +00:00
peter
d5091e1817 * fix unreachable code check for repeat loop 2005-01-16 14:44:03 +00:00
peter
9ba429a6e2 * fixed some tabs 2005-01-16 11:56:37 +00:00
peter
4f7d80ce91 * ord-ord always gives a signed result 2005-01-16 11:13:40 +00:00
peter
4c5833ddf9 * give warning for unreachable code in while/if statements 2005-01-16 10:50:32 +00:00
florian
2069166e8a * arm compiler fixed 2005-01-15 21:45:35 +00:00
olle
4a3a4efb05 + added help for -Se[whn] 2005-01-15 20:36:59 +00:00
armin
b941fdbdb1 * added .nlm extension for netware 2005-01-14 21:04:44 +00:00
Jonas Maebe
52212c3fb6 * fixed overallocation of stack space for parameters under SYSV
(introduced in one of my previous commits)
  * unified code of get_volatile_registers_fpu for SYSV and AIX
2005-01-14 20:59:17 +00:00
Jonas Maebe
74cc20070d * r2 can be used by the register allocator under Darwin
* merged the initialisations of the fpu register allocator for AIX and
    SYSV
2005-01-13 22:02:40 +00:00
olle
3b1ecd4f47 + Added this confirmation from Apple Computer about our ownership of the MacOS creator code 'FPas' 2005-01-13 21:29:19 +00:00
Jonas Maebe
8654fac06c * fixed copy_value_on_stack() for AIX abi
+ added support for passing empty record parameters
2005-01-13 19:32:08 +00:00
Jonas Maebe
20361e7eb8 + support LOC_VOID in gen_load_para_value() 2005-01-13 19:31:05 +00:00
florian
b28dbc570d * removed ie20050111 2005-01-12 10:02:22 +00:00
peter
ef3b19b316 * regenerated 2005-01-11 17:07:45 +00:00
armin
26b56d31ce * updated makefile.fpc versions to 1.9.7, regenerated makefiles 2005-01-10 22:49:56 +00:00
peter
8f8e6f6809 * widestring patches from Alexey Barkovoy 2005-01-10 22:10:26 +00:00
Jonas Maebe
9c22d594b0 + support for passing records in registers under darwin
* tcgpara now also has an intsize field, which contains the size in
    bytes of the whole parameter
2005-01-10 21:50:05 +00:00
Jonas Maebe
e0eb172f4b - removed deprecated constants 2005-01-10 21:48:45 +00:00
peter
994ab51002 * regenerated to use cpu-os 2005-01-10 21:29:23 +00:00
olle
be08c4912b - disabled macro diff message 2005-01-10 21:01:52 +00:00
peter
5c98e04106 * write realname for published methods 2005-01-10 20:41:55 +00:00
peter
ee5cd11877 * generate export jmps in .text section 2005-01-10 15:56:13 +00:00
peter
8956302482 * Cleanup of writing of relocations to symbols
* Only local symbols will now use a constant value or section relocation
2005-01-10 15:54:59 +00:00
olle
7572f3a539 * rework of macro subsystem
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
peter
dd84e43eca * fix TeX issues 2005-01-09 20:17:43 +00:00
olle
2ded07f47e + linker response file is now removed after linking 2005-01-09 16:35:41 +00:00
peter
817beec833 * don't force to add .tex 2005-01-09 16:13:09 +00:00
peter
bb32ee0457 * fix interface vtbl optimization
* replace ugly pointer construct of ioffset()
2005-01-09 15:05:29 +00:00
peter
f4ec016665 * fix crash with -CR 2005-01-09 15:04:36 +00:00
peter
eae6d4fc8b * Allow #include ~/.fpc.cfg 2005-01-08 23:14:50 +00:00
florian
cf55930118 * fixed loadaddr; I wonder how it ever worked 2005-01-08 16:00:55 +00:00
florian
bccb02b0de * typed dyn. array constants can be only nil pointer 2005-01-08 14:05:31 +00:00
Károly Balogh
6bae9c8f6d * made m68k to compile again 2005-01-08 04:10:36 +00:00
florian
3cb0a53eca + compiler side of variant<->interface implemented 2005-01-07 21:14:21 +00:00
florian
fcfbc935a1 + implemented abi compliant handling of strucutured functions results on sparc platform 2005-01-07 16:22:54 +00:00
peter
ed7084e0b6 * handle string-open array of (wide)char without variants 2005-01-07 16:22:47 +00:00
Jonas Maebe
7fc8f866c6 * fixed stupid tregister/tsuperregister bug (type checking circumvented
using explicit typecase), caused bug3523
2005-01-07 10:58:03 +00:00
florian
ef9b70f1f4 * 1.0.10 starting patch from Peter 2005-01-06 13:40:41 +00:00
florian
7aa53f09cc * widechararray patch from Peter 2005-01-06 13:30:40 +00:00
florian
c85ed49700 * arctan, sin and cos are done in software on the arm 2005-01-06 12:11:03 +00:00
Károly Balogh
8f534e5428 * made Shell() work correctly on MorphOS 2005-01-06 09:20:36 +00:00
Károly Balogh
5908985365 * more SysV call support stuff for MorphOS 2005-01-06 02:13:03 +00:00
Károly Balogh
18be2ff0fd * sysv abi also uses F0-F13 as volatile registers 2005-01-05 19:01:53 +00:00
florian
6ecf269d34 + new error msg for arm shifter op handling added 2005-01-05 17:31:12 +00:00
florian
5942e4b6f6 * added support of shifter ops in arm inline assembler 2005-01-05 15:22:39 +00:00
Károly Balogh
86c111a794 * fixed SysV syscall support (MorphOS) 2005-01-05 02:31:06 +00:00
florian
eca0cb266f * not operator for byte/word fixed 2005-01-04 21:00:48 +00:00
florian
468eca38bd * load_reg_reg fixed 2005-01-04 20:15:05 +00:00
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