Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2010-11

News on Delphi x64

29 messages · 12 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Sven Barth

Hello together!

A little entry about some details of Delphi x64 I stumbled on today:

http://wiert.wordpress.com/2010/11/01/more-delphi-x64-bits-allen-bauer-kylix_rd-on-twitter/

Most notable:

As speculated, the Tag property will become a NativeInt.
// didn't we have a discussion about this a few days ago?
So, Extended = Double.
// how is this in FPC? Extended is just not available on x86_64, or?
(well... I don't use Extended anyway ^^)
Type sizes for 64: SizeOf(Integer)=4,

SizeOf(NativeInt)=SizeOf(Pointer)=8,

// they needed to call it NativeInt, didn't they? They couldn't have
gone with PtrInt -.-

Regards,
Sven

PS: I've not posted this to lazarus-other, cause I'm not subscribed there.

Reply by email

Graeme Geldenhuys
to Sven Barth

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.

> 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.

> 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!!

// they needed to call it NativeInt, didn't they? They couldn't have gone with PtrInt -.-

Definitely not, because that would be FPC compatible.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net:8080/fpgui/

Reply by email

Paul Ishenin
to Graeme Geldenhuys
Graeme Geldenhuys wrote 5 lines
> > 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!!

Integer is 32bit in FPC. But SizeOf(PtrInt) = SizeOf(Pointer)

Best regards,
Paul Ishenin.

Reply by email

Sven Barth
to Graeme Geldenhuys: Op 2010-11-01 11:26, Sven Barth het geskryf: And let me guess, they took no cues from…
Graeme Geldenhuys wrote 8 lines
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...

Show quoted text 9 lines
> > 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?

Show quoted text 8 lines
> > 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...)

Show quoted text 5 lines
> // 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

Reply by email

Graeme Geldenhuys
to Paul Ishenin: Integer is 32bit in FPC. But SizeOf(PtrInt) = SizeOf(Pointer) Paul Ishenin.

Op 2010-11-01 12:06, Paul Ishenin het geskryf:

Integer is 32bit in FPC. But SizeOf(PtrInt) = SizeOf(Pointer)

When did that change? I looked up the information in FPC's Language Reference docs "Predefined integer types" table. My copy had Integer as 2,4 or 8 bytes (smallint, longint or int64). I just downloaded a new copy of FPC 2.4 Language Ref, and indeed that table (pg.24) has been update to show 2 or 4 bytes as the Integer size.

...interesting.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net:8080/fpgui/

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 9 lines
Op 2010-11-01 12:06, Paul Ishenin het geskryf: > > Integer is 32bit in FPC. But SizeOf(PtrInt) = SizeOf(Pointer) When did that change? I looked up the information in FPC's Language Reference docs "Predefined integer types" table. My copy had Integer as 2,4 or 8 bytes (smallint, longint or int64). I just downloaded a new copy of FPC 2.4 Language Ref, and indeed that table (pg.24) has been update to show 2 or 4 bytes as the Integer size.

It has been so forever. The docs were wrong.

Michael.

Reply by email

Sven Barth
to Graeme Geldenhuys: Op 2010-11-01 12:06, Paul Ishenin het geskryf: When did that change? I looked up the…
Graeme Geldenhuys wrote 9 lines
Op 2010-11-01 12:06, Paul Ishenin het geskryf: > > Integer is 32bit in FPC. But SizeOf(PtrInt) = SizeOf(Pointer) When did that change? I looked up the information in FPC's Language Reference docs "Predefined integer types" table. My copy had Integer as 2,4 or 8 bytes (smallint, longint or int64). I just downloaded a new copy of FPC 2.4 Language Ref, and indeed that table (pg.24) has been update to show 2 or 4 bytes as the Integer size.

It was always the case in the implementation (as far as I'm aware of), but it might be that the documentation didn't reflect that ^^

Regards,
Sven

Reply by email

Sven Barth
Jonas Maebe wrote 7 lines
On 01 Nov 2010, at 11:21, Sven Barth wrote: > 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? Extended = double on Win64 in FPC as well.

Ok, thanks for the clarification. :)

Regards,
Sven

Reply by email

waldo kitty
to Graeme Geldenhuys: Op 2010-11-01 11:26, Sven Barth het geskryf: And let me guess, they took no cues from…
Graeme Geldenhuys wrote 5 lines
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,

they probably don't even know that FPC exists... i'd hazard a guess that they likely think that all other flavors of pascal are long dead and buried, too... so in their eyes, there's no competition and thus they can do what they want... even if it is reinventing the wheel in some manner...

Reply by email

Marco van de Voort
to Sven Barth: Hello together! A little entry about some details of Delphi x64 I stumbled on today:…
Sven Barth wrote 20 lines
A little entry about some details of Delphi x64 I stumbled on today: http://wiert.wordpress.com/2010/11/01/more-delphi-x64-bits-allen-bauer-kylix_rd-on-twitter/ Most notable: > As speculated, the Tag property will become a NativeInt. // didn't we have a discussion about this a few days ago? > So, Extended = Double. // how is this in FPC? Extended is just not available on x86_64, or? (well... I don't use Extended anyway ^^) > Type sizes for 64: SizeOf(Integer)=4, SizeOf(NativeInt)=SizeOf(Pointer)=8, // they needed to call it NativeInt, didn't they? They couldn't have gone with PtrInt -.-

Barry Kelly (on stackoverflow) also said that Delphi 64-bit probably won't have an internal assembler (iow asm only via external tasm and .obj linking)

Reply by email

Vincent Snijders
to Joshua Lim

2010/11/2 Joshua Lim :

Hi, any thoughts when Laz with fpc 2.4.0 be released? ?Thanks.

There won't be a release of Lazarus with fpc 2.4.0. The next Lazarus release will be built with fpc 2.4.2.

Vincent

Reply by email

Hans-Peter Diettrich
to waldo kitty: they probably don't even know that FPC exists... i'd hazard a guess that they likely…
Show quoted text 8 lines
On 11/1/2010 05: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, they probably don't even know that FPC exists...

According to my last year observations in the Embarcadero groups, they are very well aware of FPC/Lazarus, and the many features not available in Delphi (platforms, 64 bit).

They may have choosen the Delphi-X way for the integration of other platforms, based exclusively on Windows, just to keep Delphi distinct from the FPC/LCL approach.

DoDi

Reply by email

waldo kitty
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 13 lines
waldo kitty schrieb: > On 11/1/2010 05: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, > > they probably don't even know that FPC exists... According to my last year observations in the Embarcadero groups, they are very well aware of FPC/Lazarus, and the many features not available in Delphi (platforms, 64 bit).

i guess that's a GoodThing<tm> in some ways... maybe a BadThing<tm> in others... we can only wait and see what shakes out in the laundry...

They may have choosen the Delphi-X way for the integration of other platforms, based exclusively on Windows, just to keep Delphi distinct from the FPC/LCL approach.

this is true...

Reply by email

waldo kitty
to Michael Schnell
Michael Schnell wrote
> they probably don't even know that FPC exists... Isn't this called "sandbox" and necessary for sanity ?

i'm not sure and you could be quite correct ;)

what i was looking at was that they may be so very in their own world that they only look at other older mainstream flavors that used to exist... even i'm not sure if they exist any more... what with the proliferation of C++, C#, and all the "web oriented" ""new"" languages that have come out in the last 10-15 years or so...

FWIW: the above is one of the main reasons why i still do a lot of coding in TP/BP 6 and 7 depending on my needs... i'm trying to spend more and more time with FPC and Laz, though... in fact, i have a project (or three) that i really want to do but i need to get cross compiling stuff set up and operating... my main target will be OS/2 (Warp 3 Connect) with development on (for now) w2k-sp4 with the latest security fixes applied... in the future, the development platform will most likely be (k)ubuntu ;)

Reply by email

Paul Breneman
to waldo kitty
waldo kitty wrote 21 lines
On 11/3/2010 07:34, Michael Schnell wrote: > >> they probably don't even know that FPC exists... > Isn't this called "sandbox" and necessary for sanity ? i'm not sure and you could be quite correct ;) what i was looking at was that they may be so very in their own world that they only look at other older mainstream flavors that used to exist... even i'm not sure if they exist any more... what with the proliferation of C++, C#, and all the "web oriented" ""new"" languages that have come out in the last 10-15 years or so... FWIW: the above is one of the main reasons why i still do a lot of coding in TP/BP 6 and 7 depending on my needs... i'm trying to spend more and more time with FPC and Laz, though... in fact, i have a project (or three) that i really want to do but i need to get cross compiling stuff set up and operating... my main target will be OS/2 (Warp 3 Connect) with development on (for now) w2k-sp4 with the latest security fixes applied... in the future, the development platform will most likely be (k)ubuntu ;)

I've recently been doing more TP 6 programming for some embedded systems. TP 6 still works nice but I'd prefer to have all of the Free Pascal features...

Reply by email

Sven Barth
to Paul Breneman
Paul Breneman wrote
I've recently been doing more TP 6 programming for some embedded systems. TP 6 still works nice but I'd prefer to have all of the Free Pascal features...

What exactly stops you from using Free Pascal? (I'm curious sometimes :P )

Regards,
Sven

Reply by email

Florian Klaempfl
to Sven Barth
Sven Barth wrote 6 lines
Am 04.11.2010 03:29, schrieb Paul Breneman: > I've recently been doing more TP 6 programming for some embedded > systems. TP 6 still works nice but I'd prefer to have all of the Free > Pascal features... What exactly stops you from using Free Pascal? (I'm curious sometimes :P )

Maybe the embedded system is 16 bit?

Reply by email

Paul Breneman
to Florian Klaempfl: Maybe the embedded system is 16 bit?
Florian Klaempfl wrote 8 lines
Am 04.11.2010 09:23, schrieb Sven Barth: > Am 04.11.2010 03:29, schrieb Paul Breneman: >> I've recently been doing more TP 6 programming for some embedded >> systems. TP 6 still works nice but I'd prefer to have all of the Free >> Pascal features... > What exactly stops you from using Free Pascal? (I'm curious sometimes :P ) Maybe the embedded system is 16 bit?

I'm using Datalight ROM-DOS which is 16-bit. If a 32-bit extender would work with that I would consider using Free Pascal, but it seems the FPC DOS port isn't being used much? I could use a lean Linux but haven't had the time to look into that either. Any suggestions?

Reply by email

Sven Barth
to Florian Klaempfl: Maybe the embedded system is 16 bit?
Florian Klaempfl wrote 9 lines
Am 04.11.2010 09:23, schrieb Sven Barth: > Am 04.11.2010 03:29, schrieb Paul Breneman: >> I've recently been doing more TP 6 programming for some embedded >> systems. TP 6 still works nice but I'd prefer to have all of the Free >> Pascal features... > > What exactly stops you from using Free Pascal? (I'm curious sometimes :P ) Maybe the embedded system is 16 bit?

I forgot that DOS was a 16 bit system ^^

Didn't someone have the plan to add 16 bit (cross compile) support to FPC?

Regards,
Sven

Reply by email

waldo kitty
to Sven Barth
Sven Barth wrote 7 lines
Am 04.11.2010 16:40, schrieb Florian Klaempfl: > Am 04.11.2010 09:23, schrieb Sven Barth: > Maybe the embedded system is 16 bit? I forgot that DOS was a 16 bit system ^^ Didn't someone have the plan to add 16 bit (cross compile) support to FPC?

it should be there now, shouldn't it? FPC does DOS apps, IIRC... surely they are not required to be 32-bit apps and must use a DOS-extender...

Reply by email

Sven Barth
to waldo kitty
waldo kitty wrote 12 lines
On 11/5/2010 04:41, Sven Barth wrote: > Am 04.11.2010 16:40, schrieb Florian Klaempfl: >> Am 04.11.2010 09:23, schrieb Sven Barth: >> Maybe the embedded system is 16 bit? > > I forgot that DOS was a 16 bit system ^^ > > Didn't someone have the plan to add 16 bit (cross compile) support to > FPC? it should be there now, shouldn't it? FPC does DOS apps, IIRC... surely they are not required to be 32-bit apps and must use a DOS-extender...

If I remember correctly FPC ONLY supports DOS apps with a DOS extender. See here:
http://wiki.freepascal.org/Platform_list#Supported_targets_for_i386

But someone wanted to add 16 bit support last year or the year before that...

Regards,
Sven

Reply by email

waldo kitty
to Sven Barth
Sven Barth wrote 16 lines
On 06.11.2010 01:23, waldo kitty wrote: > On 11/5/2010 04:41, Sven Barth wrote: >> Am 04.11.2010 16:40, schrieb Florian Klaempfl: >>> Am 04.11.2010 09:23, schrieb Sven Barth: >>> Maybe the embedded system is 16 bit? >> >> I forgot that DOS was a 16 bit system ^^ >> >> Didn't someone have the plan to add 16 bit (cross compile) support to >> FPC? > > it should be there now, shouldn't it? FPC does DOS apps, IIRC... surely > they are not required to be 32-bit apps and must use a DOS-extender... If I remember correctly FPC ONLY supports DOS apps with a DOS extender. See here: http://wiki.freepascal.org/Platform_list#Supported_targets_for_i386

ahhh... i wasn't _fully_ aware of that... 16bit is one of the reasons why i still use TP/BP 6 and 7... depending on the app's needs...

But someone wanted to add 16 bit support last year or the year before that...

as things progress on into the future, i can easily see where it may be "wasted" effort... not totally wasted, though... i still see a huge number of POS (Point of Sale) systems that boot DOS and then go to their full screen custom text mode touch interface...

Reply by email