Commit Graph

293 Commits

Author SHA1 Message Date
peter
9a8dc6bfb2 * store hidden symbols correctly in ppu
git-svn-id: trunk@1751 -
2005-11-15 08:35:01 +00:00
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