[Lazarus] News on Delphi x64
Sven Barth
pascaldragon at googlemail.com
Mon Nov 1 11:21:34 CET 2010
On 01.11.2010 10:51, Graeme Geldenhuys wrote:
> Op 2010-11-01 11:26, Sven Barth het geskryf:
>>
>> A little entry about some details of Delphi x64 I stumbled on today:
>
> And let me guess, they took no cues from FPC, and had to make sure there is
> as much "incompatibility" as humanly possible! This is why I say, FPC
> should cut any ties with Delphi and simply innovate on it's own.
>
There are times where I think the same...
>> > So, Extended = Double.
>>
>> // how is this in FPC? Extended is just not available on x86_64, or?
>> (well... I don't use Extended anyway ^^)
>
> FPC has Extended and it's rang is 19-20 significant digits with range:
> 1.9E-4932 – 1.1E4932
> It's size is 10 bytes.
>
I'm aware that FPC has Extended. But the point is that it's not
supported on all platforms, cause not every platform can handle 80bit
floating points.
My question was more: Is Extended usable/enabled on Win64 or is it
Extended=Double as well?
>
>> > Type sizes for 64: SizeOf(Integer)=4,
>> SizeOf(NativeInt)=SizeOf(Pointer)=8,
>
> Oh f**k, please don't tell me FPC is now going to downgrade Integer to a
> 32-bit type only. This will break such a LOT of programs!!
>
>
Ehhhh... In modes "objfpc" and "delphi" SizeOf(Integer) = 4 is already
the case no matter what bitness your system has. For that purpose
"PtrInt" (and "PtrUInt") were added. Only in modes "fpc" and "tp"
SizeOf(Integer) = 2 is true (one can argue whether that was a good
decision but that's the way it is...)
>> // they needed to call it NativeInt, didn't they? They couldn't have
>> gone with PtrInt -.-
>
> Definitely not, because that would be FPC compatible.
>
Yes... although I found a statement some time ago when they introduced
"exit with argument". In a comment to that a Delphi developer said "We
never broke compatibility with FPC on purpose". It's a pity that I'm not
able to find that statement again :(
Regards,
Sven
More information about the Lazarus
mailing list