Jonas Maebe
7356f83713
* fixed calling of external procedures if the first time they are used in a
...
compilation unit is in an expression which merely takes their address
git-svn-id: trunk@439 -
2005-06-18 09:06:07 +00:00
Jonas Maebe
0f8e019c44
* fixed web bug tw4078 + added test
...
git-svn-id: trunk@414 -
2005-06-15 16:46:03 +00:00
Jonas Maebe
af3f851751
* rgBase -> rgbase to avoid unnecessary recompiles on case-preserving/
...
insensitive filesystems
git-svn-id: trunk@405 -
2005-06-14 17:36:56 +00:00
Jonas Maebe
2b4d3312f7
* fixed web bug #4058 (missing swapleftright for subtraction if overflow
...
checking is turned on)
git-svn-id: trunk@327 -
2005-06-09 20:17:40 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
Jonas Maebe
aea6563bba
* no longer change r12 when fpu regs have to saved, corrupted copying of
...
stack parameters coming after that
git-svn-id: trunk@130 -
2005-05-27 22:09:49 +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
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
Jonas Maebe
a5c94ddccd
* removed some unused variables
2005-03-25 21:55:43 +00:00
Jonas Maebe
46c1b41a7b
- removed unused unit
2005-02-26 15:06:26 +00:00
Jonas Maebe
ec959955bd
* fixed generic jumps optimizer and enabled it for ppc (the label table
...
was not being initialised -> getfinaldestination always failed, which
caused wrong optimizations in some cases)
* changed the inverse_cond into a function, because tasmcond is a record
on ppc
+ added a compare_conditions() function for the same reason
2005-02-26 01:26:59 +00:00
Jonas Maebe
706a87c2df
* don't lose sign of ord types for register parameters
2005-02-19 14:04:14 +00:00
Jonas Maebe
6c38093871
* fixed spilling for several ppc instructions which only read registers
...
+ added support for registers in references that get changed (load/store
with update)
2005-02-18 23:37:51 +00:00
Jonas Maebe
0e4f1738cd
- removed a non-existing instruction (lcrxe)
...
* fixed an instruction (maffs_ -> mffs)
2005-02-18 23:05:47 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
22d9294ab3
+ overflow checking for the arm
2005-02-13 18:55:19 +00:00
Jonas Maebe
a823a15888
* records which consist of only a union of one element have to be passed
...
according to record parameter passing rules, not according to the rules
of that item's type (change relevant to AIX abi only)
2005-02-11 15:20:23 +00:00
olle
1a87bc0ff3
* fixed erroneous asm line directive
2005-02-08 22:46:00 +00:00
peter
18ebd28692
* push_addr_param must be defined per target
2005-02-03 20:04:49 +00:00
peter
f5e21ec2ff
* fixed parseparaloc
2005-01-31 17:46:25 +00:00
peter
e820bc93f2
* interface wrapper generation moved to cgobj
...
* generate interface wrappers after the module is parsed
2005-01-24 22:08:32 +00:00
Jonas Maebe
28ea4a8fd4
* fixed bug introduced in revision 1.6
2005-01-24 18:13:46 +00:00
peter
35e466d971
* remove copy_value_on_stack and a_param_copy_ref
2005-01-20 17:47:01 +00:00
peter
04c97cc129
* load jmp_buf_size from system unit
2005-01-20 16:38:45 +00:00
peter
8d251e8506
* unit mapping rewrite
...
* new derefmap added
2005-01-19 22:19:41 +00:00
Jonas Maebe
52212c3fb6
* fixed overallocation of stack space for parameters under SYSV
...
(introduced in one of my previous commits)
* unified code of get_volatile_registers_fpu for SYSV and AIX
2005-01-14 20:59:17 +00:00
Jonas Maebe
74cc20070d
* r2 can be used by the register allocator under Darwin
...
* merged the initialisations of the fpu register allocator for AIX and
SYSV
2005-01-13 22:02:40 +00:00
Jonas Maebe
8654fac06c
* fixed copy_value_on_stack() for AIX abi
...
+ added support for passing empty record parameters
2005-01-13 19:32:08 +00:00
Jonas Maebe
9c22d594b0
+ support for passing records in registers under darwin
...
* tcgpara now also has an intsize field, which contains the size in
bytes of the whole parameter
2005-01-10 21:50:05 +00:00
Jonas Maebe
e0eb172f4b
- removed deprecated constants
2005-01-10 21:48:45 +00:00
Jonas Maebe
7fc8f866c6
* fixed stupid tregister/tsuperregister bug (type checking circumvented
...
using explicit typecase), caused bug3523
2005-01-07 10:58:03 +00:00
Károly Balogh
5908985365
* more SysV call support stuff for MorphOS
2005-01-06 02:13:03 +00:00
Károly Balogh
18be2ff0fd
* sysv abi also uses F0-F13 as volatile registers
2005-01-05 19:01:53 +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
olle
3f7fdcb45e
* fixed compilation for PowerPC
2004-12-28 02:25:43 +00:00
Jonas Maebe
d377cacc61
* fixed call-by-value passing of records with size 1, 2 or 4 for AIX abi
...
(using a hack, normally all records should by passed by value under the
aix abi, but that's currently impossible)
2004-12-24 15:00:11 +00:00
Jonas Maebe
067c588089
- removed unused variables
2004-12-24 11:58:33 +00:00
Jonas Maebe
4c3b9ce6c3
* fixed a_jmp_name() for darwin
2004-12-24 11:51:55 +00:00
peter
fad0e529a4
* syscall with sysv abi for morphos
2004-12-15 19:30:32 +00:00
Jonas Maebe
fcf16c4983
* fixed synchronising 64bit regvars on 32bit systems at the start and
...
end of procedures
* hack for ppc for loading of paras from their callee location to local
temps
2004-12-11 12:42:28 +00:00
Jonas Maebe
5b7ffabd0c
* only set/clear bit 6 of cr in case of varargs for the sysv abi
2004-12-06 18:06:37 +00:00
Jonas Maebe
4f53d8367d
* introduced bug (x shl 65 = x shl 1 when shifting with a constant, but
...
still 0 otherwise) to pass tshlshr
2004-12-06 17:53:43 +00:00
Jonas Maebe
49a8939b22
* modifications to work with the generic code to copy LOC_REFERENCE
...
parameters to local temps (fixes tests/test/cg/tmanypara)
2004-12-04 21:47:46 +00:00
Jonas Maebe
bd04491f50
* patch from Peter to fix inlining of case statements
2004-11-30 18:13:39 +00:00
Jonas Maebe
26ab4ead33
* fixed intermittent bug in overflow checking of subtractions
2004-11-26 12:30:47 +00:00
Jonas Maebe
fff0683902
* fixed overflow checking of unsigned multiplications
2004-11-26 12:17:04 +00:00
peter
8cf8c54609
* fixed varargs
...
* replaced dynarray with tlist
2004-11-22 22:01:19 +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