http://peter@svn.freepascal.org/svn/fpc/trunk
........
r3065 | jonas | 2006-03-28 13:49:16 +0200 (Tue, 28 Mar 2006) | 6 lines
+ get_max_value in defutil
* use a linear cmp list instead of subtractions on ppc if low >=
low(smallint) and high <= high(word), because a compare does not
introduce any dependencies (and in those cases using subtractions
does not save any instructions or bytes either)
........
git-svn-id: branches/fixes_2_0@3260 -
http://peter@svn.freepascal.org/svn/fpc/trunk
........
r3194 | peter | 2006-04-12 12:26:10 +0200 (Wed, 12 Apr 2006) | 2 lines
* interfaces return values need to be passed in parameters
........
r3199 | peter | 2006-04-13 09:04:48 +0200 (Thu, 13 Apr 2006) | 2 lines
* patch from Jonas to pass interface result as parameter
........
git-svn-id: branches/fixes_2_0@3259 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r3166 | jonas | 2006-04-08 00:17:45 +0200 (Sat, 08 Apr 2006) | 6 lines
* fixed skipping of parameter registers for ppc/aix in case a parameter
has to be passed on the stack before all registesters are used up
* fixed calculation of stack offsets for ppc/aix abi for small records,
arrays and ordinals passed on the stack after all registers are used
+ test for all of the above
........
git-svn-id: branches/fixes_2_0@3167 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r3159 | jonas | 2006-04-07 00:09:25 +0200 (Fri, 07 Apr 2006) | 3 lines
* return OS_NO from int_cgsize() for sizes which are not a power of 2
(fixes crash in tests/test/cg/tpara2.pp for ppc, does not break i386)
........
git-svn-id: branches/fixes_2_0@3160 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r3141 | jonas | 2006-04-04 14:44:19 +0200 (Tue, 04 Apr 2006) | 3 lines
* fixed offset calculation of first parameter on the stack if there
were any preceding parameters < 4 bytes
........
git-svn-id: branches/fixes_2_0@3157 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r2523 | florian | 2006-02-11 23:25:14 +0100 (Sat, 11 Feb 2006) | 2 lines
* string constants passed to array of const should be passed as ansistrings
........
r2774 | jonas | 2006-03-05 22:38:05 +0100 (Sun, 05 Mar 2006) | 2 lines
+ some simplify support for ttypeconvnode
........
r2949 | jonas | 2006-03-17 23:26:48 +0100 (Fri, 17 Mar 2006) | 21 lines
* moved type conversion of C varargs from tcallnode to
tarrayconstructornode.inset_typeconvs() and fixed them:
* integers < 32 bit are converted to 32 bit (this was previously
done in the code generator for some targets, and not for others)
* currency is also converted to double for targets where currency = int64
* single is converted to double, except for x86_64 (is at least
necessary on darwin/ppc, darwin/i386 and linux/i386)
* enums are converted to 32 bit ints
* procvars are converted to pointers
* proper errors are given for various unsupported types
NOTE: in C, floating point constants are by default double, while in
FPC they are of type extended. On platforms where extended <> double,
such constants when passed to C varargs are automatically converted
to double by default (gives warning). If you want to pass them as
single or extended or get rid of the warning, use an explicit typecast
* increased ppu version because of introduction of new node flag
(nf_cvarargs for tarrayconstructornode)
* fixed tests/test/cg/tprintf
* changed tests/test/cg/cdecl/taoc5 to use explicit typecasts for
floating point constants passed to C varargs functions.
........
r2951 | jonas | 2006-03-18 10:20:18 +0100 (Sat, 18 Mar 2006) | 2 lines
* automatically convert (wide)chararrays to p(wide)chars for C varargs
........
r2954 | jonas | 2006-03-18 14:20:58 +0100 (Sat, 18 Mar 2006) | 2 lines
* fixed wrong conversions from real to currency/int64 for x86
........
git-svn-id: branches/fixes_2_0@3150 -
http://peter@svn.freepascal.org/svn/fpc/trunk
........
r2890 | florian | 2006-03-12 19:22:11 +0100 (Sun, 12 Mar 2006) | 2 lines
* fix for dword div dword power of two
........
git-svn-id: branches/fixes_2_0@3085 -
http://peter@svn.freepascal.org/svn/fpc/trunk
........
r3016 | jonas | 2006-03-22 22:32:48 +0100 (Wed, 22 Mar 2006) | 4 lines
* load a dummy value on the fpu stack in the epilog of functions
which return a real but which never assigned anything to the function
result (since the caller will pop it off again) (x86-only, bug #4902)
........
git-svn-id: branches/fixes_2_0@3082 -
svn+ssh://marco@svn.freepascal.org/FPC/svn/fpc/trunk
........
r3029 | marco | 2006-03-25 15:50:07 +0100 (Sat, 25 Mar 2006) | 2 lines
* fixed small bug as result from last fixed to stringlist.text. Reported as 4901
........
git-svn-id: branches/fixes_2_0@3030 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r2929 | jonas | 2006-03-15 22:48:32 +0100 (Wed, 15 Mar 2006) | 5 lines
* fixed webtbs/tw2514 for darwin/i386 (and a similar bug for win32):
you get an internalerror if you try to keep a 0-byte record in
a register (because the paramgr then tries to allocate a register
of size OS_NO)
........
git-svn-id: branches/fixes_2_0@3012 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r2856 | jonas | 2006-03-11 15:16:11 +0100 (Sat, 11 Mar 2006) | 3 lines
* fixed assembler version of fpc_AnsiStr_Decr_Ref (based on remark
from Martin Schreiber)
........
git-svn-id: branches/fixes_2_0@3006 -
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk
........
r2843 | jonas | 2006-03-10 21:59:45 +0100 (Fri, 10 Mar 2006) | 2 lines
+ added
........
r2844 | jonas | 2006-03-10 22:18:21 +0100 (Fri, 10 Mar 2006) | 2 lines
* fixed tests/test/cg/tformfnc.pp
........
r2854 | jonas | 2006-03-11 14:54:20 +0100 (Sat, 11 Mar 2006) | 2 lines
* fixed a_param_ref for large parameters
........
r2855 | jonas | 2006-03-11 15:13:47 +0100 (Sat, 11 Mar 2006) | 3 lines
* don't explicitly us NR_F0 in concatcopy but ask a register from
the register allocator (since NR_F0 can also be used by the ra)
........
r2952 | jonas | 2006-03-18 12:05:04 +0100 (Sat, 18 Mar 2006) | 3 lines
* fixed web bug #4913 (don't allow indexing of strings/variants/pointers
with enums/chars/booleans)
........
r2957 | jonas | 2006-03-18 23:02:37 +0100 (Sat, 18 Mar 2006) | 3 lines
* don't give range check hints/warnings for conversions of
realconstnodes to types with less precision than the default (bug 4898)
........
r2958 | jonas | 2006-03-18 23:25:41 +0100 (Sat, 18 Mar 2006) | 2 lines
* support goto/label by default in tp/delphi/macpas modes (bug 4893)
........
r2959 | jonas | 2006-03-18 23:53:27 +0100 (Sat, 18 Mar 2006) | 2 lines
* count references to symbols accessed via properties (fixes bug #4826)
........
r2968 | jonas | 2006-03-19 17:44:18 +0100 (Sun, 19 Mar 2006) | 3 lines
- removed markheap since it doesn't work anymore (since a long
time already in fact)
........
r2973 | jonas | 2006-03-19 21:01:11 +0100 (Sun, 19 Mar 2006) | 4 lines
* support subscripting record function results on ABI's that return
(some) records in registers (+ internalerror if unsupported
record location). Fixes "make all" in top dir on darwin/x86.
........
r2974 | jonas | 2006-03-19 21:08:21 +0100 (Sun, 19 Mar 2006) | 2 lines
+ nostackframe directive to fix on darwin/x86
........
r2975 | jonas | 2006-03-19 21:26:29 +0100 (Sun, 19 Mar 2006) | 2 lines
* fixed test
........
r2976 | jonas | 2006-03-19 21:29:15 +0100 (Sun, 19 Mar 2006) | 2 lines
* fixed loading of -0.0
........
r3002 | jonas | 2006-03-21 16:25:16 +0100 (Tue, 21 Mar 2006) | 3 lines
* don't change "mov const,ref; mov ref,reg" into "mov const,reg; mov reg,ref"
if ref depends on reg
........
r3003 | jonas | 2006-03-21 16:44:55 +0100 (Tue, 21 Mar 2006) | 4 lines
* if we find a constant already loaded in a register and we use that
register, mark the register as read by the current instruction
(fixes compilation of tcalfun8 with optimizations)
........
git-svn-id: branches/fixes_2_0@3004 -
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/trunk
........
r2542 | marco | 2006-02-12 20:03:58 +0100 (Sun, 12 Feb 2006) | 2 lines
* linuxold etc moved to linux/ No need anymore for 1.0.x bootstrapping
........
git-svn-id: branches/fixes_2_0@2964 -
svn+ssh://marco@svn.freepascal.org/FPC/svn/fpc/trunk
........
r2891 | marco | 2006-03-12 20:15:07 +0100 (Sun, 12 Mar 2006) | 4 lines
* fix for 4419 + removed undocumented trimming.
Probably original programmer used space as separator and then
this works.
........
git-svn-id: branches/fixes_2_0@2892 -