On Tue, 17 Aug 2010, Jes Sorensen wrote:

> On 08/17/10 21:24, malc wrote:
> > On Tue, 17 Aug 2010, Jes Sorensen wrote:
> > 
> >> On 08/17/10 20:55, malc wrote:
> >>> On Tue, 17 Aug 2010, Blue Swirl wrote:
> >>>>> The other thing that might be worth mentioning in the int/long section
> >>>>> is that long is complicated in broken development environments such as
> >>>>> Windows where it is only 32 bit :(
> >>>
> >>> There's absolutely nothing broken about LLP64 it's as valid as any other
> >>> ABI. (That's to Jes)
> >>
> >> Well it works if you program for it, but it still doesn't make it any
> >> good when you can't keep a pointer in a long to apply arithmetic to it.
> >> Anyway point with the documentation is to make it clear that we rely on
> >> being able to do long foo = (long)ptr;
> > 
> > Which isn't (and never was) sanctioned by any standard, IOW not good.
> 
> Well maybe this is where the problem is. Not being able to do this means
> that we need a special integer type to cover this case if we wanted to
> work on win64. Switching to long long would generate bad code on 32 bit
> archs so thats not an option.

That's why [u]intptr_t was invented.

> 
> Depending on your viewpoint it is either it not being a standard that is
> bad, or the LLP64 that is bad.

This doesn't really parse for me.

> 
> Anyway this is personal preference.
> 
> Jes
> 

-- 
mailto:av1...@comtv.ru

Reply via email to