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