peter
8f239d04b6
* cleanup and simplify the set type handling
...
git-svn-id: trunk@10432 -
2008-03-02 17:48:27 +00:00
Jonas Maebe
f36e5411af
* split cpu64bit compiler define into
...
a) cpu64bitaddr, which means that we are generating a compiler which
will generate code for targets with a 64 bit address space/abi
b) cpu64bitalu, which means that we are generating a compiler which
will generate code for a cpu with support for 64 bit integer
operations (possibly running in a 32 bit address space, depending
on the cpu64bitaddr define)
All cpus which had cpu64bit set now have both the above defines set,
and none of the 32 bit cpus have cpu64bitalu set (and none will
compile with it currently)
+ pint and puint types, similar to aint/aword (not pword because that
that conflicts with pword=^word)
* several changes from aint/aword to pint/pword
* some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 -
2008-02-13 20:44:00 +00:00
florian
29766e5d81
+ first additions for the arm eabi
...
git-svn-id: trunk@9157 -
2007-11-07 20:48:32 +00:00
florian
039b513d93
* pass classes and interfaces by value if const is used, resolves #9674
...
git-svn-id: trunk@8484 -
2007-09-14 19:26:09 +00:00
yury
d1c2f41c66
* Fixed passing variant parameters by value for ARM. It fixes tw7806.pp.
...
git-svn-id: trunk@7758 -
2007-06-21 15:06:43 +00:00
yury
3b7e458f02
* Properly set location of float return value if it is passed as var parameter (it is always happens for safecall functions). It fixes bugs #8523 and #8977 .
...
+ test.
git-svn-id: trunk@7728 -
2007-06-18 23:23:46 +00:00
yury
11daaa31f2
* fixed Internal error 200408203 in tbs/tb0258.pp for ARM.
...
git-svn-id: trunk@5669 -
2006-12-21 22:02:29 +00:00
yury
5ceef96cf3
* fixed double parameters passing and storing result for ARM in softfloat mode (by removing old hacks).
...
git-svn-id: trunk@5438 -
2006-11-21 21:20:24 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
florian
e9a1dff46a
* fixed most calling convention trouble on arm-linux
...
git-svn-id: trunk@5091 -
2006-10-30 10:45:26 +00:00
florian
293638230a
* cleanedup cpupara
...
git-svn-id: trunk@5087 -
2006-10-30 09:08:23 +00:00
florian
5603955795
* fixed passing of floats, broken by one of the previous commits
...
git-svn-id: trunk@5085 -
2006-10-30 08:38:38 +00:00
florian
797c8de846
* fix structure parameter passing
...
git-svn-id: trunk@5083 -
2006-10-30 08:04:45 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
florian
67ba76f090
* several arm fixes
...
git-svn-id: trunk@4742 -
2006-09-27 21:05:05 +00:00
florian
86d9e04409
* method pointers are now passed by value, fixes #5736
...
git-svn-id: trunk@3691 -
2006-05-27 08:52:05 +00:00
peter
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
* pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
* refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
* add cfi to asmdata
* move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
florian
5efee639fa
* fixed result registers for reals when using softfloat mode
...
git-svn-id: trunk@1194 -
2005-09-25 17:44:24 +00:00
florian
5a2b5a50a4
* data order for doubles in int registers on wince fixed
...
git-svn-id: trunk@1171 -
2005-09-24 09:28:55 +00:00
florian
609f35b34c
* fixed missing offset assignment
...
git-svn-id: trunk@984 -
2005-08-30 08:59:23 +00:00
florian
fea7d1df10
* fixed passing of float in softfloat mode on the stack
...
git-svn-id: trunk@978 -
2005-08-29 20:39:35 +00:00
florian
adb193497d
+ softfloat support for wince
...
* more units are build for wince
git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
florian
c15f720867
* fixed passing of floats for cdecl procedures/functions
...
git-svn-id: trunk@726 -
2005-07-21 20:12:28 +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
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
18ebd28692
* push_addr_param must be defined per target
2005-02-03 20:04:49 +00:00
florian
2069166e8a
* arm compiler fixed
2005-01-15 21:45:35 +00:00
florian
7d1dd39ecc
* ie with array of const;cdecl; fixed
2005-01-01 19:30:17 +00:00
florian
ad4345c217
* fixed arm compilation
2004-11-24 22:03:26 +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
florian
42e14b6825
+ additional extdebug check for wrong add_reg_instructions added
...
* too long manglednames are cut off at 200 chars using a crc
2004-11-06 17:44:47 +00:00
florian
e5feec37cb
* fixed handling of stack parameters on the arm
2004-11-01 09:23:01 +00:00
florian
c8d7f6be2b
* another couple of arm fixed
2004-10-31 12:37:11 +00:00
florian
410d01458c
* fixed several arm compiler bugs
2004-10-24 17:32:53 +00:00
florian
60f0434585
* fixed compilation of arm compiler
2004-10-24 07:54:25 +00:00
florian
c6fbf26b6a
* first arm fixes for new paraloc handling
2004-10-22 16:36:57 +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
florian
5bc07e7c96
+ float parameters can be on the stack now as well
2004-03-20 21:11:01 +00:00
florian
c65e094bba
+ implemented cdecl'd varargs on arm
...
+ -dCMEM supported by the compiler
* label/goto asmsymbol type with -dextdebug fixed
2004-03-20 20:55:36 +00:00
florian
40363f47e5
* compilation of arm rtl fixed
2004-03-07 00:16:59 +00:00
florian
abc41f1c3c
* several fixes to parameter handling on arm
2004-02-09 22:48:45 +00:00
florian
5a2c4d4bff
* genintparaloc fixed
2004-01-24 01:32:49 +00:00
florian
162ff2e6d4
* fixed a_call_reg
...
+ implemented paramgr.get_volative_registers
2004-01-20 23:18:00 +00:00
florian
78aeec22ca
* arm compiler compilation fixed
2003-12-18 17:06:21 +00:00
florian
1a87a5ed45
* fixed several arm calling conventions issues
...
* fixed reference reading in the assembler reader
* fixed a_loadaddr_ref_reg
2003-12-03 17:39:04 +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
florian
a9d9a15e20
* fixed ARM for new reg. allocation scheme
2003-11-02 14:30:03 +00:00