Blocked revisions 9333-9335,9662,9664,9685,9898,10083,10106,10167,10305-10306,10367,10424,10478-10480,10521,10575,10577,10586,10598,10669,10672,10677,10688,10690 via svnmerge
........
r9333 | florian | 2007-11-25 19:54:40 +0100 (Sun, 25 Nov 2007) | 1 line
+ inline abs(<longint>) on x86
........
r9334 | florian | 2007-11-25 21:49:57 +0100 (Sun, 25 Nov 2007) | 2 lines
* forgotten commit
........
r9335 | jonas | 2007-11-26 12:13:42 +0100 (Mon, 26 Nov 2007) | 2 lines
* fixed non-x86 compilation after r9333
........
r9662 | jonas | 2008-01-07 00:18:12 +0100 (Mon, 07 Jan 2008) | 2 lines
* fixed range error in case node distance calculation
........
r9664 | jonas | 2008-01-07 00:30:19 +0100 (Mon, 07 Jan 2008) | 6 lines
* optimize away unnecessary implicit upcasts to int64 for subtractions
of u32bit values on 32 bit platforms (after the int64 values have
already been used for overload selection etc, i.e., semantically
nothing changes)
+ test which checks that not too many typecasts are optimized away
........
r9685 | jonas | 2008-01-08 23:00:37 +0100 (Tue, 08 Jan 2008) | 4 lines
* perform double->single-conversion-before-storing workaround for
fpu bug on some ppc's depending on the selected target cpu type
rather than depending on whether we're compiling for 64 bit
........
r9898 | jonas | 2008-01-24 22:30:55 +0100 (Thu, 24 Jan 2008) | 16 lines
* changed byte/word/longbool to be Delphi-compatible (+ similar changes
for qwordbool) + test:
o assigning true to such a variable now sets them to $ff/$ffff/$ffffffff
o these types are now all signed
o converting an integer type to a byte/word/long/qwordbool using an
explicit type cast keeps the integer's original value stored in the
bool, instead of forcing it to ord(true)/ord(false)
(mantis #10233 and #10613, implemented for all architectures, testsuite
tested for ppc32, sparc and x86)
* fixed some places where the rtl depended on longbool(true) having the
value 1
* extended several boolean tests (and adapted some to no longer assume
that byte/word/long/qwordbool(true)=1)
+ support for converting to qwordbool in second_int_to_bool for x86, ppc
and sparc
........
r10083 | peter | 2008-01-28 19:13:32 +0100 (Mon, 28 Jan 2008) | 2 lines
* remove goto, that prevents optimizations
........
r10106 | peter | 2008-01-30 00:19:24 +0100 (Wed, 30 Jan 2008) | 2 lines
* workaround for 2.2 rnagecheck
........
r10167 | florian | 2008-02-03 10:54:48 +0100 (Sun, 03 Feb 2008) | 2 lines
* merge tracking for avr branch
........
r10305 | florian | 2008-02-11 22:05:08 +0100 (Mon, 11 Feb 2008) | 2 lines
* fixed writeln(<enum>) for 64 bit systems, resolves #10033
........
r10306 | tom_at_work | 2008-02-11 22:13:52 +0100 (Mon, 11 Feb 2008) | 4 lines
* implement branchless fpc_abs_long in a generic way
* enable optimization for ppc/ppc64 (two times faster than
"generic" rtl branching routine)
........
r10367 | jonas | 2008-02-20 12:49:15 +0100 (Wed, 20 Feb 2008) | 3 lines
+ internal round/trunc support for ppc970 using fctid/fctidz
* a_fctw_ -> a_fctiw_
........
r10424 | peter | 2008-03-02 15:00:38 +0100 (Sun, 02 Mar 2008) | 2 lines
* fix range error
........
r10478 | michael | 2008-03-12 22:10:19 +0100 (Wed, 12 Mar 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-10477" from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources
........
r10479 | michael | 2008-03-12 22:13:36 +0100 (Wed, 12 Mar 2008) | 3 lines
Removed merge tracking for "svnmerge" for
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources
........
r10480 | michael | 2008-03-12 22:13:56 +0100 (Wed, 12 Mar 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-9692" from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources
........
r10521 | jonas | 2008-03-21 15:44:58 +0100 (Fri, 21 Mar 2008) | 7 lines
* explicit typecasting of any ordinal type to a boolean of the same
size must happen without any mangling of the value (mantis #11027)
* moved checking for signed-to-unsigned (or vice versa) type
conversions in assignments from htypechk to ncnv (where there
was already code for similar checks) and added support for
bool_to_bool there as well
........
r10575 | jonas | 2008-03-28 11:15:33 +0100 (Fri, 28 Mar 2008) | 2 lines
* workaround for default property constant value limitations
........
r10577 | michael | 2008-03-29 10:09:33 +0100 (Sat, 29 Mar 2008) | 1 line
* Solution for bug #11058
........
r10586 | michael | 2008-03-29 19:03:23 +0100 (Sat, 29 Mar 2008) | 1 line
* Patch from colin western to fix infinite loop
........
r10598 | vincents | 2008-04-02 23:04:39 +0200 (Wed, 02 Apr 2008) | 1 line
added more overloads for TBool parameters (bug 11091)
........
r10669 | yury | 2008-04-15 22:44:27 +0200 (Tue, 15 Apr 2008) | 3 lines
* Fixed a_load_reg_reg for arm.
* Fixed sign/zero-extension in second_int_to_bool for all CPUs. x86 and pppc were not affected by this bug, but I fixed it for all CPUs for consistency.
* cg/tcnvint1 is passed on arm now.
........
r10672 | yury | 2008-04-16 00:19:29 +0200 (Wed, 16 Apr 2008) | 5 lines
* Improved fix for bug #10233 for better Delphi compatibility and efficiency:
- Explicit typecasts like LongBool(byte_value) do not change ordinal value.
- Explicit typecasts like ByteBool(longint_value) do not change ordinal value and can lead to data loss if longint_value is outside of ByteBool range.
- Explicit typecasts like ByteBool(LongBool) handle type ranges correctly.
- Updated test tw10233.pp. It is passed by Delphi as well.
........
r10677 | yury | 2008-04-16 10:34:30 +0200 (Wed, 16 Apr 2008) | 2 lines
* Fixed tw11027.
* Updated tcnvint2 to new rules.
........
r10688 | yury | 2008-04-18 09:38:25 +0200 (Fri, 18 Apr 2008) | 1 line
* Fix for tw10233 for all CPUs.
........
r10690 | yury | 2008-04-18 12:51:56 +0200 (Fri, 18 Apr 2008) | 1 line
* I hope it's proper fix for r10688.
........
git-svn-id: branches/fixes_2_2@10719 -