florian
53ee505d84
* fixed spilling
...
* fixed register assignment for instructions requiring a register>R15
git-svn-id: branches/avr@17046 -
2011-02-27 21:10:31 +00:00
florian
93e72b7e8a
* fixed normalize_ref
...
git-svn-id: branches/avr@17045 -
2011-02-27 21:09:41 +00:00
florian
88b0db90a6
* use correct sizes when getting additional registers for 64 bit values
...
git-svn-id: branches/avr@17044 -
2011-02-27 21:09:11 +00:00
florian
d060e199f4
* 64 bit comparisations fixed
...
git-svn-id: branches/avr@17043 -
2011-02-27 21:08:44 +00:00
florian
b6530f253a
* fixed reference writing for avr
...
git-svn-id: branches/avr@17042 -
2011-02-27 21:07:25 +00:00
florian
b870a6eff5
* started to fix parameter passing
...
* fixed entry/exit code generation
git-svn-id: branches/avr@17041 -
2011-02-27 21:05:53 +00:00
florian
26415e9903
* as avr doesn't like $ in symbols, use ReplaceForbiddenChars to replace them
...
git-svn-id: branches/avr@17040 -
2011-02-27 21:04:18 +00:00
florian
dc0638c4d2
* corrected volatile registers for avr
...
git-svn-id: branches/avr@17039 -
2011-02-27 21:03:28 +00:00
florian
7b9276ae8a
+ implementation of avr rtl helpers
...
+ avr: fixed writing of constants in assembler
* avr: fixed reading of constants in assembler
* avr: determine used registers at procedure exit properly
* changed project name to ppavr
git-svn-id: branches/avr@17032 -
2011-02-26 21:04:56 +00:00
florian
ad9956022c
* don't omit stackframe on avr for assembler routines
...
git-svn-id: branches/avr@17031 -
2011-02-26 21:02:50 +00:00
florian
acac3ce37c
* dummy fix for concatcopy
...
git-svn-id: branches/avr@17028 -
2011-02-26 21:00:58 +00:00
florian
4bb9407f72
* remove usage of makeregsize on avr
...
git-svn-id: branches/avr@17027 -
2011-02-26 21:00:43 +00:00
florian
cb003b631b
* use helper for dword*dword if needed
...
git-svn-id: branches/avr@17026 -
2011-02-26 20:59:41 +00:00
florian
726b24c591
* (d)allocallcpuregisters must not handle fpu registers on avr
...
git-svn-id: branches/avr@17025 -
2011-02-26 20:59:09 +00:00
florian
f419966f06
+ generic second_int_to_bool, depends on OP_OR setting flags
...
git-svn-id: branches/avr@17024 -
2011-02-26 20:58:48 +00:00
florian
27f1abb58b
* clean up and nicer todos
...
git-svn-id: branches/avr@17023 -
2011-02-26 20:58:13 +00:00
florian
d5455cf6ac
+ software multiplication support for OS_16,OS_S16,OS_32,OS_S32
...
git-svn-id: branches/avr@17020 -
2011-02-26 20:33:01 +00:00
florian
5abdfb6f7e
* aint -> asizeint changes
...
git-svn-id: trunk@17018 -
2011-02-26 20:16:14 +00:00
florian
fcd3872d88
+ introduction of tcgint
...
git-svn-id: trunk@17017 -
2011-02-26 20:15:53 +00:00
florian
ef699b1864
+ avr flag and condition handling
...
git-svn-id: trunk@17016 -
2011-02-26 20:15:03 +00:00
florian
ca76476cfa
* avr needs div helper
...
git-svn-id: trunk@17015 -
2011-02-26 20:14:18 +00:00
florian
db2600d40b
+ first primitive concatcopy implementation
...
+ implemented op_const_reg and load_const_reg
+ implemented op_reg_reg
* set register info values correctly
git-svn-id: trunk@17014 -
2011-02-26 20:13:19 +00:00
florian
4f82149dbd
* aint -> asizeint change
...
git-svn-id: trunk@17013 -
2011-02-26 20:12:03 +00:00
florian
26fbfaf5a7
+ introduce the usage of asizeint/asizeuint for cpus with sizeof("alu")<>sizeof(pointer)
...
git-svn-id: trunk@17011 -
2011-02-26 20:10:03 +00:00
florian
fd97ce0109
* removed some arm overlefts
...
git-svn-id: trunk@17010 -
2011-02-26 20:09:21 +00:00
florian
26ce3cef00
* compilation fixes
...
* completed a_load_ref_reg
+ implemented procedure entry/exit code generation
+ implemented a_load_reg_ref
git-svn-id: trunk@17009 -
2011-02-26 20:08:23 +00:00
florian
8b245369e1
+ implemented normalize_ref
...
git-svn-id: trunk@17008 -
2011-02-26 20:03:39 +00:00
florian
4cfc5693c5
* fix compilation for avr
...
* some ideas for avr register management
+ initial implementation of a_load_reg_reg
git-svn-id: trunk@17007 -
2011-02-26 20:02:45 +00:00
Jonas Maebe
b8e9fd5c00
* use blx also for ARMv5, since it works on non-T variants and is required
...
for correct operation on T-variants (patch by Dejan Boras, mantis #18819 )
git-svn-id: trunk@17001 -
2011-02-25 19:46:35 +00:00
florian
f8b01f76a4
* update of german message files by Karl-Michael Schindler, resolves #18815
...
git-svn-id: trunk@16995 -
2011-02-24 12:48:40 +00:00
joost
db6bc3bd00
* Replace environment variables placed between dollar signs in fpc.cfg
...
with the value of the environment variable.
git-svn-id: trunk@16945 -
2011-02-20 00:04:20 +00:00
Jonas Maebe
601b90d74c
* don't specify a custom pagezero size on Mac OS X when compiling with -gv
...
(Valgrind support), because Valgrind cannot deal with that
git-svn-id: trunk@16916 -
2011-02-14 20:31:30 +00:00
Jonas Maebe
a199344bf4
* don't check for duplicate symbols when adding a class helper symbol, see
...
added comments why (solves duplicate symbol error when adding a category
for an objcclass in the interface and then another one in the
implementation of a unit, problem reported by Ryan Joseph on the
mac-pascal list)
git-svn-id: trunk@16902 -
2011-02-09 20:17:34 +00:00
Legolas
527dd56b28
+ Initial Wii support
...
git-svn-id: trunk@16888 -
2011-02-07 16:56:45 +00:00
armin
fc34ef31c7
FindUtil was called in SetDefaultInfo and in MakeExecutable.
...
git-svn-id: trunk@16885 -
2011-02-06 16:25:18 +00:00
sergei
71cce9716d
* Parse 'variant_expression.ident[parameters]' as a parametrized property access, rather than non-parametrized property followed by array subscript. This corresponds to Delphi behavior and fixes Mantis #17127 .
...
* Fixed the related test: Excel Worksheet interface does not have a default property.
git-svn-id: trunk@16864 -
2011-02-02 09:11:11 +00:00
sergei
4aeef5b150
Fixes to dispatch calls:
...
* Pass dispinterfaces with correct type (varDispatch).
* Pass skipped parameters as EmptyParam (vType=varError, vError=DISP_E_PARAMNOTFOUND), as COM requires to preserve correct argument count and positions.
* Since ttempcreatenode.size can be set after creation, don't calculate parameter size in first pass, this simplifies things a bit.
git-svn-id: trunk@16863 -
2011-02-01 16:43:18 +00:00
florian
e7fa076b70
* handle variables without explicit size prefix better in inline assembler, resolves #18009
...
git-svn-id: trunk@16859 -
2011-01-30 21:57:30 +00:00
sergei
0a9fdb71e5
- translate_disp_call: removed a couple of unnecessary variables.
...
git-svn-id: trunk@16858 -
2011-01-30 21:11:20 +00:00
Jonas Maebe
9604ae2908
* also delete ppcppc64, ppcarm, ppcmips and ppcmipsel in the execlean target
...
git-svn-id: trunk@16856 -
2011-01-30 19:58:15 +00:00
florian
cc10ab57ab
* create a stub on all targets when the external name changes, resolves #18371
...
git-svn-id: trunk@16854 -
2011-01-30 19:17:53 +00:00
florian
1fef7e4b6c
+ introduces vo_volatile for variables, the node cse optimizer takes care of it
...
git-svn-id: trunk@16851 -
2011-01-30 16:32:50 +00:00
florian
e99c4d1950
+ support str(<boolean>,...), boolean is an enumeration type
...
* don't run pass_1 on str or val calls in generic method/procedure definitions, resolves #18420
git-svn-id: trunk@16849 -
2011-01-30 14:27:09 +00:00
florian
ec2d294287
* compiler works again compiled with $R+
...
git-svn-id: trunk@16848 -
2011-01-30 12:45:04 +00:00
Jonas Maebe
eab29db98a
* merged tasnode.pass_typecheck() and tisnode.pass_typecheck() into a single
...
tasisnode.pass_typecheck() since they were almost identical (only the
resultdef of the nodes is different)
git-svn-id: trunk@16846 -
2011-01-30 10:37:21 +00:00
Jonas Maebe
be2bb0b2e1
* free function return location if the callnode immediately copies it to a
...
different funcretnode location
git-svn-id: trunk@16839 -
2011-01-29 22:25:45 +00:00
paul
a04481c89f
compiler: simplify enumerator search methods of TObjectDef by reusing implementation from TAbstractRecordDef
...
git-svn-id: trunk@16836 -
2011-01-29 17:34:09 +00:00
sergei
4780278e7b
Fix Mantis #11783 :
...
* Dispinterfaces can be assigned/typecasted to Variants and vice-versa.
* At the same time, disabled corbainterface assignment compatibility with Variants. Simply intermixing COM and CORBA interfaces is wrong since it causes reference counting calls on CORBA interfaces.
* Dispinterfaces are returned in parameter, similar to regular interfaces.
* Fixed crash in comobj.pp due to incorrect typecast.
* Fixed incorrect dispinterface declarations in the test itself. Now it compiles and works (if MS Excel is installed).
git-svn-id: trunk@16835 -
2011-01-29 13:18:34 +00:00
paul
e4a6221bf3
compiler, rtl: add vtUnicodeString (issue #0018560 )
...
git-svn-id: trunk@16833 -
2011-01-29 09:18:53 +00:00
paul
e77a9051c8
compiler: treat record/class fields types as bt_var_type block in delphi mode - as result they don't create a forward declaration for ^Type. Leave it as is for other modes because in other case it break the compilation of RTL and packages (fixes issue #0018620 )
...
git-svn-id: trunk@16832 -
2011-01-29 07:32:10 +00:00