Commit Graph

251 Commits

Author SHA1 Message Date
peter
7c0b6e129e * fixed wrong typecasts 2004-11-09 17:26:47 +00:00
peter
6458bd0ce1 * tvarsym splitted 2004-11-08 22:09:58 +00:00
peter
ad89ee8150 * rename duplicate symbols and insert with unique name in the
symtable
2004-11-05 21:16:55 +00:00
peter
bc59556a41 * $fpctarget expands to <cpu>-<os>
* allow * in middle of the path to support ../*/units/$fpctarget
2004-10-31 18:54:24 +00:00
peter
705868e816 * remove saveregister calling convention 2004-10-24 20:01:08 +00:00
peter
34756dfe4a * don't give warning for property as unknwon proc directive 2004-10-24 13:48:50 +00:00
peter
adb6f59eef * small regvar fixes
* loadref parameter removed from concatcopy,incrrefcount,etc
2004-10-24 11:44:28 +00:00
mazen
581b52422c - remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
d288070a7a * mark non-regable after calling convention is set 2004-10-11 15:45:35 +00:00
peter
4f7667488b * parameter regvar fixes 2004-10-10 21:08:55 +00:00
peter
63cf4464d3 * tvarsym.varregable added, split vo_regable from varoptions 2004-10-08 17:09:43 +00:00
peter
e18eaddbfc fixed crash with error in default value
allow assembler directive in interface
2004-08-29 11:28:41 +00:00
peter
d3545c4e4c * fix for tw3261 2004-08-25 15:57:19 +00:00
florian
4b3ed28d07 * morphos now takes any pointer var. as libbase
* alignment for sparc fixed
  * int -> double conversion on sparc fixed
2004-08-22 20:11:38 +00:00
peter
9ab6f93a11 * don't insert result variables for constructor/destructors 2004-08-22 11:24:27 +00:00
Jonas Maebe
25c2441fa5 * only set the mangled name immediately for external procedures in macpas
mode if the procedure isn't cdecl (so that the c-prefix is taken into
    account, necessary for Mac OS X)
2004-08-13 17:53:37 +00:00
florian
95e40f0f69 * proc. var declarations in a class doesn't eat a public anymore 2004-08-08 12:35:09 +00:00
florian
b1dc8c5572 * function result location for syscalls on MOS hopefully correctly set now 2004-07-17 13:51:57 +00:00
olle
41bdd6178c + added external facilities for macpas 2004-07-14 23:19:21 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
peter
6bac8ebcfd * fixed 3114 2004-05-23 20:54:39 +00:00
peter
5e2a95d4fe * expect : after function when it is a forwarddef 2004-05-23 19:06:26 +00:00
Károly Balogh
3175dd4c6b * few small changes to add syscall support to M68k/Amiga target 2004-05-12 13:21:09 +00:00
olle
649873016f * Moved import_implicit_external to symsym 2004-05-11 22:52:48 +00:00
olle
4a092ae765 + mode macpas: support for implicit external 2004-05-11 18:29:41 +00:00
michael
e1a62208f0 + Patch from peter to hide system unit as symbol 2004-05-11 06:59:35 +00:00
peter
1ba2ef14cb C directive is mac only 2004-05-09 12:49:14 +00:00
Jonas Maebe
cbbb3b467e - removed change_forward_to_external() declaration 2004-05-03 20:02:42 +00:00
olle
758c940518 + added language constructs UNIV, C, ... for mode mac
* consolidated macro expression to conform to Pascal
  * macro true is defined as <> 0
2004-05-03 10:06:38 +00:00
florian
5a510e7438 * fixed MorphOS syscall without parameters 2004-05-01 22:38:13 +00:00
florian
e8098f6b71 + added lib support for Amiga/MorphOS syscalls 2004-05-01 22:05:01 +00:00
florian
a813f5a184 + locationstr always reset 2004-04-29 21:10:13 +00:00
florian
c68ea95074 + syscall directive support for MorphOS added 2004-04-28 15:19:03 +00:00
Károly Balogh
70cbf1f878 * fixed locationstr having nonsense values in some cases 2004-04-28 00:20:43 +00:00
Károly Balogh
fd8f76519f * quick fix for PowerPC/MorphOS location support 2004-04-19 02:12:18 +00:00
florian
a7478ee97f + location support for arguments, currently PowerPC/MorphOS only 2004-04-18 15:22:24 +00:00
peter
f8679b77ef * fix crash when method is not declared in object declaration
* fix parsing of mapped interface functions
2004-02-26 16:13:25 +00:00
peter
f967fa5f74 * use sp_internal flag to silence unused internal variable 2004-02-20 21:54:47 +00:00
peter
4f913922fa * overload directive checking for methods is now done
when the vmt is generated
2004-02-13 15:41:24 +00:00
daniel
20469d47a0 * Tvarsym.highvarsym removed 2004-02-05 14:13:53 +00:00
daniel
63f2dfc2dd * Tvarsym.highvarsym commented out (unused by compiler, purpose unknown) 2004-02-04 22:54:57 +00:00
daniel
d735071838 * Rtti generation moved to ncgutil
* Assmtai usage of symsym removed
  * operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
ecfbbeffc3 * renamed xNNbittype to xNNinttype
* renamed registers32 to registersint
  * replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
1422985ca0 * Change several $ifdef i386 to x86
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
florian
75e2de9f2c + reintroduce implemented 2004-01-21 14:22:00 +00:00
peter
51384ca53c * register calling is left-right
* parameter ordering
  * left-right calling inserts result parameter last
2003-11-23 17:05:15 +00:00
peter
30cbfd88d4 * virtual conflicts with override 2003-11-12 15:49:06 +00:00
peter
a3c14e9c2d * procvar default value support 2003-11-10 19:09:29 +00:00
florian
bbf7300a0c * Florian's culmutative nr. 1; contains:
- invalid calling conventions for a certain cpu are rejected
    - arm softfloat calling conventions
    - -Sp for cpu dependend code generation
    - several arm fixes
    - remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
peter
af5a4842d5 * insert framepointer as voidpointer instead of returntype 2003-11-03 17:47:30 +00:00
peter
19727a3609 * don't search for overloads in parents for constructors 2003-10-30 16:23:13 +00:00
peter
079e489b08 * absolute to object field supported, fixes tb0458 2003-10-28 15:36:01 +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
da9f5e2319 * c style array of const generates callparanodes
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
60e2738c22 * temporary fix for compilerprocs on watcom 2003-10-05 11:10:52 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
peter
2bec6b14fc * procvar directive parsing fixes 2003-10-02 21:13:09 +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
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
eee2002780 * don't include vo_has_local_copy for open array/array of const 2003-09-25 21:24:09 +00:00
peter
06071e3d31 * remove obsolete code 2003-09-23 20:36:47 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
76a53a375d * varspez in calls to push_addr_param 2003-09-16 16:17:01 +00:00
peter
3a3d710c47 * basics for x86 register calling 2003-09-09 21:03:17 +00:00
peter
0a8bddc756 * calling convention fix 2003-09-09 15:54:10 +00:00
peter
b9d09a4e5c * preparations for different default calling conventions
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
220e05dd5e * fixed arm concatcopy
+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ...
2003-09-03 11:18:36 +00:00
peter
b7d99ec934 * paraloc splitted in callerparaloc,calleeparaloc
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
be7a5b76a4 * set po_public also when parsing the object declaration 2003-06-05 20:04:43 +00:00
Jonas Maebe
6f3e16298a * function results can now also be regvars
- removed tprocinfo.return_offset, never use it again since it's invalid
    if the result is a regvar
2003-06-02 21:42:05 +00:00
peter
345228fd29 * defer codegeneration for nested procedures 2003-05-22 21:31:35 +00:00
peter
92ee1804b6 * removed selfpointer_offset, vmtpointer_offset
* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
a467b84faa * fixed various crashes 2003-05-13 15:18:49 +00:00
peter
1a2eedd767 * self moved to hidden parameter
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +00:00
peter
e2cbae0ff1 * vs_hidden replaced by is_hidden boolean 2003-05-05 14:53:16 +00:00
florian
9e0e8340f7 + first changes to make self a hidden parameter 2003-04-30 09:42:42 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66 * aktprocdef cleanup, aktprocdef is now always nil when parsing
a new procdef declaration
  * aktprocsym removed
  * lexlevel removed, use symtable.symtablelevel instead
  * implicit init/final code uses the normal genentry/genexit
  * funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
fe96aad6d6 * vo_is_result flag added for the special RESULT symbol 2003-04-26 00:33:07 +00:00
peter
f4b818fc1d * removed funcretn,funcretsym, function result is now in varsym
and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
florian
47a3437dba * comp is now written with its bit pattern to the ppu instead as an extended 2003-04-24 13:03:01 +00:00
peter
74756e4e85 * fix po_comp setting for fpc mode 2003-04-23 13:12:26 +00:00
peter
5207aaf391 * don't check po_varargs for delphi 2003-04-23 10:12:51 +00:00
peter
e248c0ece4 * fixed C style array of const
* fixed C array passing
  * fixed left to right with high parameters
2003-04-22 13:47:08 +00:00
peter
8da3f59d32 * vs_hidden released 2003-04-10 17:57:52 +00:00
peter
c4ddcc78a8 * generic constructor working for i386
* remove fixed self register
  * esi added as address register for i386
2003-03-28 19:16:56 +00:00
Tomas Hajny
8e7124f9f8 + emx target added 2003-03-23 23:11:17 +00:00
peter
31cee7b219 * only allow class [procedure|function] 2003-03-19 17:34:04 +00:00
peter
d42645ca0a * fix crash with duplicate id 2003-03-17 18:56:02 +00:00
peter
ec66760702 * store symoptions also for procdef
* check symoptions (private,public) when calculating possible
    overload candidates
2003-03-17 15:54:22 +00:00
carl
3967f76cdd * fix highname problem 2003-01-15 20:02:28 +00:00
peter
71e2d34b5a * m68k pathexist update from 1.0.x
* palmos res update from 1.0.x
2003-01-12 15:42:23 +00:00
peter
b49747a854 * removed some duplicate code when creating aktprocsym 2003-01-07 19:16:38 +00:00
peter
26a1786491 * more conflicts for constructor/destructor types 2003-01-05 18:17:45 +00:00