Commit Graph

392 Commits

Author SHA1 Message Date
peter
59a26e4f68 * fixed interface name mapping
git-svn-id: trunk@1443 -
2005-10-17 16:02:44 +00:00
florian
158c6f72b7 * names of cdecl'ed exports on linux fixed
git-svn-id: trunk@1233 -
2005-09-29 21:40:19 +00:00
Jonas Maebe
8bc4e0a32f * inline and compilerproc are now procoptions instead of proccall types
(so both can be combined with each other, as well as with other calling
     conventions)
  * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated

git-svn-id: trunk@658 -
2005-07-18 15:27:14 +00:00
florian
83c6b3aca2 * from Yury Sidorov:
+ Added new target WinCE for i386 (to be able compile and run programs in WinCE emulator)

git-svn-id: trunk@596 -
2005-07-09 09:31:57 +00:00
florian
c2fe9e3814 + compiler part of WinCE patches from Yuri Sidorov
git-svn-id: trunk@573 -
2005-07-03 15:52:54 +00:00
peter
c1b2e1aac5 * check function/procedure type when adding a proc definition
git-svn-id: trunk@546 -
2005-06-30 14:56:05 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
f6442b758c * overloading of assignment operator by different unique result types now possible 2005-04-28 19:32:11 +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
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
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
ffb7b80888 * more procvar directive fixes 2005-02-03 17:11:40 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
peter
371e741a9d * macpas procvars in parameters 2005-01-31 21:27:51 +00:00
peter
8d251e8506 * unit mapping rewrite
* new derefmap added
2005-01-19 22:19:41 +00:00
Károly Balogh
5908985365 * more SysV call support stuff for MorphOS 2005-01-06 02:13:03 +00:00
Károly Balogh
86c111a794 * fixed SysV syscall support (MorphOS) 2005-01-05 02:31:06 +00:00
Károly Balogh
088575dc32 + sysv style syscalls added for MorphOS 2005-01-04 17:40:33 +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
0d4ba90aa8 * don't allow class methods in interfaces 2004-12-26 20:12:23 +00:00
peter
fad0e529a4 * syscall with sysv abi for morphos 2004-12-15 19:30:32 +00:00
peter
00c14e1083 * external is again allowed in implementation 2004-12-15 16:00:16 +00:00
peter
78c2af7b3c * set vo_explicit_paraloc flag 2004-12-07 16:11:52 +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
olle
53f77231d5 + bugfix for $Z+ for mode macpas 2004-12-05 00:32:56 +00:00
peter
24cc110e9f * public is allowd in interface 2004-11-29 21:50:08 +00:00
peter
05127d887d * when importing by index don't change mangledname 2004-11-29 17:48:34 +00:00
Jonas Maebe
a7d7a49615 * fixed importing of cdecl routines for OS'es which have a cprefix 2004-11-22 12:22:25 +00:00
peter
89b1b583c9 * ttempcreatenode.create_reg merged into .create with parameter
whether a register is allowed
  * funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
peter
29d3a94892 * fixed message methods
* fixed typo with win32 dll import from implementation
  * released external check
2004-11-21 16:33:19 +00:00
michael
180966c0aa * Split po_public into po_public and po_global (Peter) 2004-11-19 08:17:01 +00:00
peter
1687306d22 * make some checks EXTDEBUG only for now so linux cycles again 2004-11-17 22:41:41 +00:00
peter
14d25d278b mangledname setting moved to place after the complete proc declaration is read
import generation moved to place where body is also parsed (still gives problems with win32)
2004-11-17 22:21:35 +00:00
peter
c4502aebe7 * _mangledname for symbols moved only to symbols that really need it
* overload number removed, add function result type to the mangledname fo
  procdefs
2004-11-16 22:09:57 +00:00
peter
87d2861f89 * fixes for win32 mangledname 2004-11-16 20:32:40 +00:00
peter
e740a66636 * tparaitem removed, use tparavarsym instead
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
florian
60e0494a74 * fixed morphos syscall 2004-11-14 16:26:29 +00:00
peter
0c7e53bb81 * fixed compile of powerpc,sparc,arm 2004-11-11 19:31:33 +00:00
peter
6c9c4c686c * small m68k updates to bring it up2date
* give better error for external local variable
2004-11-09 22:32:59 +00:00
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
peter
bff0d3dd3e * pascal directive also conflicts with constructor 2003-01-05 18:09:36 +00:00
peter
cf5d395f0a * update self parameter only for methodpointer and methods 2003-01-02 19:49:00 +00:00
peter
d0725b2e7d * high value insertion changed so it works also when 2 parameters
are passed
2003-01-01 22:51:03 +00:00
peter
0e31df2ab8 * don't check for export directive repeat 2003-01-01 14:35:33 +00:00
peter
d7bedca213 * delphi allows setting calling convention in interface or
implementation
2002-12-29 18:16:06 +00:00
peter
24b7def7c2 * fix static method check
* don't require class for class methods in the implementation for
    non delphi modes
2002-12-29 14:55:44 +00:00
peter
b7d0f39211 * check procoptions when a forward is found
* exclude some call directives for constructor/destructor
2002-12-27 15:25:14 +00:00
peter
9147303907 * duplicate procsym-unitsym fix 2002-12-25 01:26:56 +00:00
peter
9f00031530 * remove code that skipped the _ prefix for win32 imports 2002-12-24 21:21:06 +00:00
peter
a44cae75fc * fix wrong internalerror when var names were different 2002-12-23 21:24:22 +00:00
peter
1c3ac34aa8 * cdecl array fix, hack to change it to vs_var is not needed 2002-12-23 20:58:52 +00:00
peter
46ed8eb932 * fixed pushing of records>8 bytes with stdcall
* simplified hightree loading
2002-12-17 22:19:33 +00:00
peter
133dee3633 * don't allow external in object declarations 2002-12-15 21:07:30 +00:00
florian
3f5541e996 + some front end stuff for vs_hidden added 2002-12-15 19:34:31 +00:00
carl
081a4aab35 * 3% memory optimization
* changed some types
  + added type checking with different size for call node and for
     parameters
2002-12-07 14:27:07 +00:00
peter
dc66eafb0b * merged cdecl and array fixes 2002-12-06 17:51:09 +00:00
carl
38f35b25cc * cleanup of error messages 2002-12-01 22:06:14 +00:00
carl
5c5db0e0a3 + unimplemented hint directive added
* hint directive parsing implemented
  * warning on these directives
2002-11-29 22:31:19 +00:00
peter
0da515f669 * fixed typo in method comparing 2002-11-27 02:35:28 +00:00
peter
f3fc72095f * splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
peter
a496dbe1ff * pass proccalloption to ret_in_xxx and push_xxx functions 2002-11-18 17:31:54 +00:00
carl
64655be168 * memory optimization (3-4%) : cleanup of tai fields,
cleanup of tdef and tsym fields.
  * make it work for m68k
2002-11-17 16:31:55 +00:00
peter
a073dadb63 * fix infinite loop in pd_inline 2002-11-16 14:20:50 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
peter
b4ec92dad3 * variant:=nil supported 2002-10-06 15:09:12 +00:00
carl
f3d9f997cd * low-highval always checked if limit ober 2GB is reached (to avoid overflow) 2002-09-27 21:13:28 +00:00
peter
cea50f7185 * add argument to equal_paras() to support default values or not 2002-09-16 14:11:12 +00:00
peter
706ec85bcb * don't insert parast in symtablestack, because typesyms should not be
searched in the the parast
2002-09-10 16:27:28 +00:00
peter
2e6865175e * check return type for forwarddefs also not delphi mode when
the type is not void
2002-09-09 19:39:07 +00:00
peter
a540ff122c * tdicationary.replace added to replace and item in a dictionary. This
is only allowed for the same name
  * varsyms are inserted in symtable before the types are parsed. This
    fixes the long standing "var longint : longint" bug
  - consume_idlist and idstringlist removed. The loops are inserted
    at the callers place and uses the symtable for duplicate id checking
2002-09-09 17:34:14 +00:00
peter
dcd9e0107c * old logs removed and tabs fixed 2002-09-07 15:25:00 +00:00
daniel
b0364566d1 * Make Tprocdef.defs protected 2002-09-03 16:26:26 +00:00
peter
f68c3a9552 * calc param_offset after parameters are read, because the calculation
depends on po_containself
2002-09-01 12:11:33 +00:00
peter
a28f75ed03 * sym.insert_in_data removed
* symtable.insertvardata/insertconstdata added
  * removed insert_in_data call from symtable.insert, it needs to be
    called separatly. This allows to deref the address calculation
  * procedures now calculate the parast addresses after the procedure
    directives are parsed. This fixes the cdecl parast problem
  * push_addr_param has an extra argument that specifies if cdecl is used
    or not
2002-08-25 19:25:18 +00:00
peter
8a43a12934 * also check the paratypes when a forward was found 2002-08-25 11:33:06 +00:00
peter
91b49914f6 * More fixes for cross unit inlining, all tnodes are now implemented
* Moved pocall_internconst to po_internconst because it is not a
    calling type at all and it conflicted when inlining of these small
    functions was requested
2002-08-19 19:36:42 +00:00
peter
98dd65b0f3 * inlining is now also allowed in interface
* renamed write/load to ppuwrite/ppuload
  * tnode storing in ppu
  * nld,ncon,nbas are already updated for storing in ppu
2002-08-18 20:06:23 +00:00
florian
e313bab4ff * first part of procinfo rewrite 2002-08-17 09:23:33 +00:00
peter
425bb45ddc * renamed current_library to objectlibrary 2002-08-11 14:32:25 +00:00
peter
ac71268ce6 * saving of asmsymbols in ppu supported
* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
florian
eb2ca8d10f * rewrote the system handling 2002-07-26 21:15:37 +00:00
florian
59abf2555b * types.pas renamed to defbase.pas because D6 contains a types
unit so this would conflicts if D6 programms are compiled
  + Willamette/SSE2 instructions to assembler added
2002-07-20 11:57:52 +00:00
florian
336808f6c3 * start of the new generic parameter handling 2002-07-11 14:41:27 +00:00
peter
4285e99853 * internal linker
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
4dcd96747e * moved entry and exitcode to ncgutil and cgobj
* foreach gets extra argument for passing local data to the
    iterator function
  * -CR checks also class typecasts at runtime by changing them
    into as
  * fixed compiler to cycle with the -CR option
  * fixed stabs with elf writer, finally the global variables can
    be watched
  * removed a lot of routines from cga unit and replaced them by
    calls to cgobj
  * u32bit-s32bit updates for and,or,xor nodes. When one element is
    u32bit then the other is typecasted also to u32bit without giving
    a rangecheck warning/error.
  * fixed pascal calling method with reversing also the high tree in
    the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
peter
6320530bdd * removed newn and disposen nodes, the code is now directly
inlined from pexpr
  * -an option that will write the secondpass nodes to the .s file, this
    requires EXTDEBUG define to actually write the info
  * fixed various internal errors and crashes due recent code changes
2002-04-21 19:02:03 +00:00
carl
87aa88e9b7 + generic FPC_CHECKPOINTER
+ first parameter offset in stack now portable
* rename some constants
+ move some cpu stuff to other units
- remove unused constents
* fix stacksize for some targets
* fix generic size problems which depend now on EXTEND_SIZE constant
2002-04-20 21:32:23 +00:00
carl
1825ca25de - remove ifdef i386 define 2002-04-20 15:27:05 +00:00
peter
70ff711f73 * mangledname rewrite, tprocdef.mangledname is now created dynamicly
in most cases and not written to the ppu
  * add mangeledname_prefix() routine to generate the prefix of
    manglednames depending on the current procedure, object and module
  * removed static procprefix since the mangledname is now build only
    on demand from tprocdef.mangledname
2002-04-19 15:46:01 +00:00
carl
5befcda7e5 + target_info.size_of_pointer -> pointer_Size 2002-04-15 18:57:22 +00:00
peter
2750eb5017 * fixed memory corruption created by previous fix 2002-03-29 13:29:32 +00:00
michael
8e7bb6837f + Patch from Pavel Ozerski 2002-03-29 11:23:24 +00:00
peter
fd2ad837e2 * implicit result variable generation for assembler routines
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
2002-01-24 18:25:48 +00:00
michael
67732f1df0 + Patch from peter for library imports 2002-01-09 07:38:03 +00:00
peter
5a323a0f6e * fixed external <dll> name <c-name> manglednames 2002-01-06 21:54:07 +00:00
peter
60d2ddbbd5 * protected/private symbols parsing fixed 2001-12-31 16:59:41 +00:00